{ "info": { "author": "Alexander Bus", "author_email": "busfromrus@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: MacOS X :: Cocoa", "Environment :: Win32 (MS Windows)", "Environment :: X11 Applications :: Qt", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "License :: OSI Approved :: MIT License", "Operating System :: POSIX :: Linux", "Programming Language :: Python", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3 :: Only", "Topic :: Software Development :: Quality Assurance", "Topic :: System :: Logging", "Topic :: System :: Monitoring" ], "description": ".. contents:: Table of contents\n :depth: 2\n\n=======\ncutelog\n=======\n\nThis is a graphical log viewer for Python's standard logging module.\nIt can be targeted with a SocketHandler with no additional setup (see Usage_).\n\nThe program is in beta: it's lacking some features and may be unstable, but it works.\ncutelog is cross-platform, although it's mainly written and optimized for Linux.\n\nFeatures\n========\n* Allows any number of simultaneous connections\n* Customizable look of log levels and columns, with presets for each\n* Filtering based on level and namespace, as well as filtering by searching\n* Search through all records or only through filtered ones\n* View exception tracebacks or messages in a separate window\n* Dark theme (with its own set of colors for levels)\n* Pop tabs out of the window, merge records of multiple tabs into one\n* Save/load records to/from a file in JSON format\n\nInstallation\n============\n**If you're using Linux**, install PyQt5 (or PySide2) from your package manager before installing cutelog (package name is probably ``python3-pyqt5`` or ``python-pyqt5``). Or just run ``pip install pyqt5`` to install it from pip, which is sub-optimal.\n::\n\n $ pip install --upgrade cutelog\n\nOr install the latest development version from the source::\n\n $ pip install git+https://github.com/busimus/cutelog.git\n\nRequirements\n------------\n* Python 3.5 (or newer)\n* PyQt5 (preferably 5.6 or newer) or PySide2\n* QtPy\n\nUsage\n=====\n1. Start `cutelog`\n\n2. Put the following into your code:\n\n.. code-block :: python\n\n import logging\n from logging.handlers import SocketHandler\n\n log = logging.getLogger('Root logger')\n log.setLevel(1) # to send all messages to cutelog\n socket_handler = SocketHandler('127.0.0.1', 19996) # default listening address\n log.addHandler(socket_handler)\n log.info('Hello world!')\n\nAfterwards it's recommended to designate different loggers for different parts of your program with `log_2 = log.getChild(\"Child logger\")`.\nThis will create \"log namespaces\" which allow you to filter out messages from various subsystems of your program.\n\nCode, issues, changelog\n=======================\nVisit the project's `GitHub page `_.\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "https://github.com/Busimus/cutelog/archive/2.0.3.zip", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/busimus/cutelog/", "keywords": "log,logging,gui,qt", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "cutelog", "package_url": "https://pypi.org/project/cutelog/", "platform": "", "project_url": "https://pypi.org/project/cutelog/", "project_urls": { "Download": "https://github.com/Busimus/cutelog/archive/2.0.3.zip", "Homepage": "https://github.com/busimus/cutelog/" }, "release_url": "https://pypi.org/project/cutelog/2.0.3/", "requires_dist": [ "QtPy", "PyQt5 ; platform_system == \"Darwin\"", "PyQt5 ; platform_system == \"Windows\"" ], "requires_python": ">=3.5", "summary": "GUI for Python's logging module", "version": "2.0.3" }, "last_serial": 5951113, "releases": { "1.0.2": [ { "comment_text": "", "digests": { "md5": "ee15d11d7461df492282ceec2a92cf3c", "sha256": "9aa398d73735edfe76b0fdbf3e3e2561251e0083bfbd0c4e4553b1f8ad0a0f06" }, "downloads": -1, "filename": "cutelog-1.0.2-py3-none-any.whl", "has_sig": true, "md5_digest": "ee15d11d7461df492282ceec2a92cf3c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 210606, "upload_time": "2018-01-11T10:41:36", "url": "https://files.pythonhosted.org/packages/94/13/445665eed613b2f1c385a0a0759aa2c78918e779e59cd9205eee311eeee7/cutelog-1.0.2-py3-none-any.whl" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "7465f01084090e7b4f892a28013c7ed2", "sha256": "2c39312939c54b41873655da6d8d0fe23eafd08b7deee597628809facc1d03b7" }, "downloads": -1, "filename": "cutelog-1.0.3-py3-none-any.whl", "has_sig": true, "md5_digest": "7465f01084090e7b4f892a28013c7ed2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 210687, "upload_time": "2018-01-11T11:00:44", "url": "https://files.pythonhosted.org/packages/da/7e/2a1fd3a97de215f8c58ca0484eb6ea558c758a2b2d5f949f1899e9816c82/cutelog-1.0.3-py3-none-any.whl" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "5222cf4d818e408125a417f4693c8fef", "sha256": "abcc1e6bb54de11860923302bd1c650c964fc5a503c1b7eac621eafcb03cd3cb" }, "downloads": -1, "filename": "cutelog-1.0.4-py3-none-any.whl", "has_sig": true, "md5_digest": "5222cf4d818e408125a417f4693c8fef", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 209574, "upload_time": "2018-01-11T15:20:15", "url": "https://files.pythonhosted.org/packages/0a/7c/48edff6044e966a9dee24a5e8f21e6d4f6af9a71106a411e827ed5a83243/cutelog-1.0.4-py3-none-any.whl" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "78d5fdb60278dc004983691ecd9ce005", "sha256": "28a3010b78081e90f2ab5eac341f81afd1bdec1ac4ae3c1f6694bb4b0469ab33" }, "downloads": -1, "filename": "cutelog-1.0.5-py3-none-any.whl", "has_sig": true, "md5_digest": "78d5fdb60278dc004983691ecd9ce005", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 209667, "upload_time": "2018-01-11T20:12:19", "url": "https://files.pythonhosted.org/packages/0f/6d/d28059af7e15703d309d88222076b90f3c1a8ac816430afd9c30ae04bb10/cutelog-1.0.5-py3-none-any.whl" } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "7b2ae0e3bb7545e539243c2f15be7239", "sha256": "d71f0cdc95e7cf6eb4d6e9d9a16b13d91f24325559100e931b44ce8dd8bef6a3" }, "downloads": -1, "filename": "cutelog-1.0.6-py3-none-any.whl", "has_sig": true, "md5_digest": "7b2ae0e3bb7545e539243c2f15be7239", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 209966, "upload_time": "2018-01-12T08:39:59", "url": "https://files.pythonhosted.org/packages/80/d4/cfd8ef6bb6f1146444b005dee83b83a1d69bf944f987ca25f00211e29160/cutelog-1.0.6-py3-none-any.whl" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "d94d1d0eedc374eca214ee63ababb079", "sha256": "1251e29cae9d8d35e16258839352eb07924b25d7bebc2ebead40227ac17870ca" }, "downloads": -1, "filename": "cutelog-1.1.0-py3-none-any.whl", "has_sig": true, "md5_digest": "d94d1d0eedc374eca214ee63ababb079", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 210230, "upload_time": "2018-01-12T13:52:49", "url": "https://files.pythonhosted.org/packages/1c/80/7c2cb5c8028d9af8e9f0b9c8bc79d93ccd8429f59a9ec0dc087d71d0fe0e/cutelog-1.1.0-py3-none-any.whl" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "d83d3e5eb95eeca4055aa4560733d39d", "sha256": "16b5115884255e1b94878c8b283cd0c9f232b17c4aac2f562912cb3c85ae2ac8" }, "downloads": -1, "filename": "cutelog-1.1.1-py3-none-any.whl", "has_sig": true, "md5_digest": "d83d3e5eb95eeca4055aa4560733d39d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 210376, "upload_time": "2018-01-13T10:47:17", "url": "https://files.pythonhosted.org/packages/38/f4/4ca087907c31489e5529b713c45f15e6eeca9aa0c0dc312f915d58951e25/cutelog-1.1.1-py3-none-any.whl" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "c391f2cf54b8178711f510bb812773b4", "sha256": "d1a9acead91068e7d390360d624438f7a8fdaab55bcaa976d530a4a2c27fab7d" }, "downloads": -1, "filename": "cutelog-1.1.2-py3-none-any.whl", "has_sig": true, "md5_digest": "c391f2cf54b8178711f510bb812773b4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 210872, "upload_time": "2018-01-13T21:19:49", "url": "https://files.pythonhosted.org/packages/75/2e/4e8d7599578e73b102f4d5c4444b94b6ae80817680155f26571aafd8f8f0/cutelog-1.1.2-py3-none-any.whl" } ], "1.1.3": [ { "comment_text": "", "digests": { "md5": "c2a8dbc1f2f431a71205189d84be4a5b", "sha256": "bfa1ae29f054289ea8a51501b7fa78d85827e251f2a695d0d8940c4b111f9a70" }, "downloads": -1, "filename": "cutelog-1.1.3-py3-none-any.whl", "has_sig": true, "md5_digest": "c2a8dbc1f2f431a71205189d84be4a5b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 140872, "upload_time": "2018-01-14T06:29:44", "url": "https://files.pythonhosted.org/packages/b1/68/c8e41c1cb343e59c57d1f1e31fae60b9cb19ae817a63bfd7c07c0ca8147d/cutelog-1.1.3-py3-none-any.whl" } ], "1.1.4": [ { "comment_text": "", "digests": { "md5": "1908cb2ab54df441d6f9b79eb3d3ca59", "sha256": "cfab44c4595fc9ada11fe58b71a78db11dd9ddf377f72f6f69260c84961585a2" }, "downloads": -1, "filename": "cutelog-1.1.4-py3-none-any.whl", "has_sig": true, "md5_digest": "1908cb2ab54df441d6f9b79eb3d3ca59", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 141951, "upload_time": "2018-01-15T13:47:51", "url": "https://files.pythonhosted.org/packages/e6/84/a0604be4f3d2aea6f4a6b47be38a9867f4eaffb636934c7f1280689e5c69/cutelog-1.1.4-py3-none-any.whl" } ], "1.1.5": [ { "comment_text": "", "digests": { "md5": "e64681a01b413bb8b69d417bc213483b", "sha256": "90b51868eada4dd91db6209a8b5c58c2eb00ca4cce3d1c0c928d6caffb88d04e" }, "downloads": -1, "filename": "cutelog-1.1.5-py3-none-any.whl", "has_sig": true, "md5_digest": "e64681a01b413bb8b69d417bc213483b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 141061, "upload_time": "2018-01-15T18:18:01", "url": "https://files.pythonhosted.org/packages/65/2f/a8a6ee35633317fe5ca48158c3e7817154a1b185070998b745b502965fb2/cutelog-1.1.5-py3-none-any.whl" } ], "1.1.6": [ { "comment_text": "", "digests": { "md5": "fab90a096fa0f8e2f08b80aaa910abda", "sha256": "e30a979b05d7222b442d66e3ac8c7751d044364481c5ce74e800100e524470cd" }, "downloads": -1, "filename": "cutelog-1.1.6-py3-none-any.whl", "has_sig": true, "md5_digest": "fab90a096fa0f8e2f08b80aaa910abda", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 142727, "upload_time": "2018-01-16T21:55:27", "url": "https://files.pythonhosted.org/packages/05/e4/0bc25ee4a893eebf70ac408495adfe54e4186ffd80824342db8eac7704dd/cutelog-1.1.6-py3-none-any.whl" } ], "1.1.7": [ { "comment_text": "", "digests": { "md5": "2d2d9fc819746bba7f34fff85e83e5c2", "sha256": "53951f4848ef0cda0ad520abf0f150e599d495b75aa6dd99798ef99b127bb025" }, "downloads": -1, "filename": "cutelog-1.1.7-py3-none-any.whl", "has_sig": true, "md5_digest": "2d2d9fc819746bba7f34fff85e83e5c2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 144851, "upload_time": "2018-01-27T17:10:18", "url": "https://files.pythonhosted.org/packages/88/be/11955aca5beb6d0d66c703361390b4c0aaffb3df400904996bd50065fd12/cutelog-1.1.7-py3-none-any.whl" } ], "1.1.8": [ { "comment_text": "", "digests": { "md5": "2f9810afbacdf417178c9b3898b9d00c", "sha256": "1b7678e49ae4d3424493daac0f3bf418fac541c20037f7b650608e23bfb4008d" }, "downloads": -1, "filename": "cutelog-1.1.8-py3-none-any.whl", "has_sig": true, "md5_digest": "2f9810afbacdf417178c9b3898b9d00c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 140650, "upload_time": "2018-05-15T15:32:30", "url": "https://files.pythonhosted.org/packages/4b/2f/39c51de8266e004ae190953efe29b54ae06f128d4778cc49c0ff20e97b55/cutelog-1.1.8-py3-none-any.whl" } ], "1.1.9": [ { "comment_text": "", "digests": { "md5": "19d13d2c7598d28908060dfad61b8fc9", "sha256": "515e956e39f9eb36554b2e594b435a00fc5639124db06edb14e86cbd7f081f06" }, "downloads": -1, "filename": "cutelog-1.1.9-py3-none-any.whl", "has_sig": true, "md5_digest": "19d13d2c7598d28908060dfad61b8fc9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 141129, "upload_time": "2018-05-17T16:39:54", "url": "https://files.pythonhosted.org/packages/67/f5/594e72e9a1ee3d06a9cb37b511ab654672a4f7461b1cc8f94471b0fa466a/cutelog-1.1.9-py3-none-any.whl" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "fe52a315cfe9e9f74debcbb3c7a67732", "sha256": "61aa2606e3af227471a82d80593ff56545cad52743ad44cf93e244c2696de9ee" }, "downloads": -1, "filename": "cutelog-2.0.0-py3-none-any.whl", "has_sig": true, "md5_digest": "fe52a315cfe9e9f74debcbb3c7a67732", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 151031, "upload_time": "2018-07-28T06:25:02", "url": "https://files.pythonhosted.org/packages/0d/e1/4567c4638a540fbc1f88335fb7757626ba7913e58689720d8086134fbd05/cutelog-2.0.0-py3-none-any.whl" } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "8ee69ada24407b7f9c18ef66f901611a", "sha256": "b9a6a93b6c7603211684b85ebac08fb25ecb8cc3f1aba44217f184510cd97a18" }, "downloads": -1, "filename": "cutelog-2.0.1-py3-none-any.whl", "has_sig": true, "md5_digest": "8ee69ada24407b7f9c18ef66f901611a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 162037, "upload_time": "2019-02-11T16:03:47", "url": "https://files.pythonhosted.org/packages/a9/e3/ce64c7fbdb7aa7cfb739234785f21525f35a0813ed6c5de4056ff1ae107f/cutelog-2.0.1-py3-none-any.whl" } ], "2.0.2": [ { "comment_text": "", "digests": { "md5": "fa1e3394cabc9da30800e87f1d51251c", "sha256": "3f25828c625e9eabb4d73dffb886f09628ed8a66e85e57c293e44eb5d5103940" }, "downloads": -1, "filename": "cutelog-2.0.2-py3-none-any.whl", "has_sig": true, "md5_digest": "fa1e3394cabc9da30800e87f1d51251c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 153261, "upload_time": "2019-05-16T08:57:31", "url": "https://files.pythonhosted.org/packages/20/a9/99c22fdee8b7dde42a1df62cbd1e3352bc3d858b9b519221998702538ad0/cutelog-2.0.2-py3-none-any.whl" } ], "2.0.3": [ { "comment_text": "", "digests": { "md5": "6fc473d9ca4933acedba7a4a060a1334", "sha256": "ac03bb6b1b9a512d10bf084eccf150470f88a66cd15dd3b5e762d3ef9a37790a" }, "downloads": -1, "filename": "cutelog-2.0.3-py3-none-any.whl", "has_sig": true, "md5_digest": "6fc473d9ca4933acedba7a4a060a1334", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 151875, "upload_time": "2019-10-09T17:28:37", "url": "https://files.pythonhosted.org/packages/02/ec/cdef95d6dae757755a99b8f5b4ebc8afdc746da2005bd4c81d8be607cb9d/cutelog-2.0.3-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "6fc473d9ca4933acedba7a4a060a1334", "sha256": "ac03bb6b1b9a512d10bf084eccf150470f88a66cd15dd3b5e762d3ef9a37790a" }, "downloads": -1, "filename": "cutelog-2.0.3-py3-none-any.whl", "has_sig": true, "md5_digest": "6fc473d9ca4933acedba7a4a060a1334", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 151875, "upload_time": "2019-10-09T17:28:37", "url": "https://files.pythonhosted.org/packages/02/ec/cdef95d6dae757755a99b8f5b4ebc8afdc746da2005bd4c81d8be607cb9d/cutelog-2.0.3-py3-none-any.whl" } ] }