{
"info": {
"author": "Iain King",
"author_email": "iain.king@gmail.com",
"bugtrack_url": null,
"classifiers": [
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3"
],
"description": "# pretty-errors\n\nPrettifies Python exception output to make it legible. Install it with\n```\npython -m pip install pretty-errors\n```\n---\n\n\n---\nUse it simply by importing it:\n```python\nimport pretty_errors\n```\nNote you need to be running in a terminal capable of colour output in order to get colour output: in Windows\nthis means powershell, cmder, etc.\n\nIf you want to configure the output then use `pretty_errors.configure()`. For example:\n```python\nimport pretty_errors\npretty_errors.configure(\n seperator_character = '\u00e2\u20ac\u201d',\n line_length = 54,\n filename_display = pretty_errors.FILENAME_FULL\n)\n```\n\nIt is possible to have the interactive interpreter always use `pretty_errors`, instead of including it in your projects, by using the `PYTHONSTARTUP` environment variable. Set it to a python file and that file will be run every time python is. If you don't already have one then create a file with the above code block and set `PYTHONSTARTUP` to its path. Whenever you run python interactively, `pretty_errors` will be automatically imported and configured (though this will not be true when your python code is run outwith the interactive interpreter.)\n\n---\n\n##### Configuration settings:\n* `line_length`
\nOutput will be wrapped at this point. If this matches your console width you may want to disable `full_line_newline` in order to prevent apparent double newlines.\n\n* `full_line_newline`
\nInsert a hard newline even if the line is full. Disable if the console automatically inserts its own newline at this point.\n\n* `filename_display`
\nHow the filename is displayed: may be `pretty_errors.FILENAME_COMPACT`, `pretty_errors.FILENAME_EXTENDED`, or `pretty_errors.FILENAME_FULL`\n\n* `display_timestamp`
\nWhen enabled a timestamp is written in the traceback header.\n\n* `display_link`
\nWhen enabled a link is written below the error location, which VSCode will allow you to click on.\n\n* `seperator_character`
\nCharacter used to create the header line. Hyphen is used by default.\n\n* `header_color`
\nEscape sequence to set header color.\n\n* `timestamp_color`
\nEscape sequence to set timestamp color.\n\n* `default_color`
\nEscape sequence to set default color.\n\n* `filename_color`
\nEscape sequence to set filename color.\n\n* `line_number_color`
\nEscape sequence to set line number color.\n\n* `function_color`
\nEscape sequence to set function color.\n\n* `link_color`
\nEscape sequence to set link color.\n\n* `reset_stdout`
\nWhen enabled the reset escape sequence will be written to stdout as well as stderr; turn this on if your console is being left with the wrong color.\n\n---\n\nIf you want to customize the output more than `configure` provides then you can replace the output functions\non `sys.stderr` after importing `pretty_errors`. These are:\n\n* `write_header(self)`
\nIs called at the start of a traceback.\n\n* `timestamp(self)`
\nReturns a string timestamp used in the header if `display_timestamp` is enabled.\n\n* `write_location(self, path, line_number, function)`
\nIs called with details on the exception's location.\n\n* `write_body(self, body)`
\nIs called with any other text sent to stderr (i.e. the code in question). `body` will never contain `\\n`, though\nit may be longer than the defined maximum line length.\n\n\nYou may replace as many of these functions as you wish, or for maximum control of output you may replace the main\nmethod called with all stderr output:\n\n* `write(self, *args)`
\nReplacement for `sys.stderr.write`\n\n\nYou may use these helper functions to make this easier (see `pretty_errors/__init__.py` for examples, especially `write`):\n\n\n* `output_text(self, text, newline = False)`
\nOutputs text while trying to only insert 1 newline when outputing a line of maximum length. `text` should be a\nlist of strings: colour escape codes and text data.\n\n* `get_location(self, text)`
\nExtracts location of exception. If it returns `None` then text was not a location identifier.\n\n* `is_header(self, text)`
\nChecks if text is the start of a traceback.\n\n\nFor example, to change the header:\n```python\ndef write_header(self):\n self.output_text([self.header_color, \"\\nERROR!!!!!!!!!!\"], newline = True)\n\nsys.stderr.write_header = write_header\n```\n\n\n",
"description_content_type": "text/markdown",
"docs_url": null,
"download_url": "",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://github.com/onelivesleft/PrettyErrors/",
"keywords": "",
"license": "",
"maintainer": "",
"maintainer_email": "",
"name": "pretty-errors",
"package_url": "https://pypi.org/project/pretty-errors/",
"platform": "",
"project_url": "https://pypi.org/project/pretty-errors/",
"project_urls": {
"Homepage": "https://github.com/onelivesleft/PrettyErrors/"
},
"release_url": "https://pypi.org/project/pretty-errors/1.0.10/",
"requires_dist": null,
"requires_python": "",
"summary": "Prettifies Python exception output to make it legible.",
"version": "1.0.10"
},
"last_serial": 4529247,
"releases": {
"1.0.1": [
{
"comment_text": "",
"digests": {
"md5": "da5255293bf644887722caf8f0248419",
"sha256": "d43732bae9ecda8faea7eceaad53bcdf73708f67a744934e7dedaaea17ce6364"
},
"downloads": -1,
"filename": "pretty_errors-1.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "da5255293bf644887722caf8f0248419",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 3735,
"upload_time": "2018-11-15T22:27:39",
"url": "https://files.pythonhosted.org/packages/15/7d/8c2063905152c16306e5aa6efcade909997ec5399aad9cc36411ec10c80b/pretty_errors-1.0.1-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "33400fb29545f2f28c2e7869255f31b7",
"sha256": "4f7db199d1ebb13f125ec0a6e88b9e653191631b2821f6c6330a7e2e730d40ec"
},
"downloads": -1,
"filename": "pretty_errors-1.0.1.tar.gz",
"has_sig": false,
"md5_digest": "33400fb29545f2f28c2e7869255f31b7",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 2483,
"upload_time": "2018-11-15T22:27:41",
"url": "https://files.pythonhosted.org/packages/c6/ba/cad219e9bc2d7417a43515652fc1f701db74e6d6a24f22e6c164de95315d/pretty_errors-1.0.1.tar.gz"
}
],
"1.0.10": [
{
"comment_text": "",
"digests": {
"md5": "cfa76b3f49c24916c6a83c8833a83148",
"sha256": "3f1d7604dc5d944636b9c3013451cb23581bdbb43d39e14b7654bd18e2ecf400"
},
"downloads": -1,
"filename": "pretty_errors-1.0.10-py3-none-any.whl",
"has_sig": false,
"md5_digest": "cfa76b3f49c24916c6a83c8833a83148",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 5689,
"upload_time": "2018-11-26T11:23:16",
"url": "https://files.pythonhosted.org/packages/e1/88/f03676ffd46ad87a4d845b55e1cee4adba73f180426ce0cf24340ec63274/pretty_errors-1.0.10-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "0e47288e6ffd91292e72545ef15900bf",
"sha256": "f96b8f7ac87adeb9d739b76ae1a9f505d024e77089b30e1c9883e9ae85f7f7d4"
},
"downloads": -1,
"filename": "pretty_errors-1.0.10.tar.gz",
"has_sig": false,
"md5_digest": "0e47288e6ffd91292e72545ef15900bf",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 4654,
"upload_time": "2018-11-26T11:23:17",
"url": "https://files.pythonhosted.org/packages/36/77/e2da68d4871950416eb550413dbb7961dca2cb9eed85816d22c5dc5eacd5/pretty_errors-1.0.10.tar.gz"
}
],
"1.0.2": [
{
"comment_text": "",
"digests": {
"md5": "7f350507705a074c129adce091c38b02",
"sha256": "6e8d5a278ca3279728c5d66da94bda8e1bd878c0d19c69816546d87b43779b40"
},
"downloads": -1,
"filename": "pretty_errors-1.0.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "7f350507705a074c129adce091c38b02",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 3759,
"upload_time": "2018-11-15T22:45:15",
"url": "https://files.pythonhosted.org/packages/af/d7/567caebf5ec4081ddf15d37730a88dfe3a1ea83ddd709c557a2b952c2c43/pretty_errors-1.0.2-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "c21cf7c7bddbf54d356f888579417cf0",
"sha256": "65e27ada571ca87eb057fa827fd3edd5db23c7915de3f6f8112fe758984bdf77"
},
"downloads": -1,
"filename": "pretty_errors-1.0.2.tar.gz",
"has_sig": false,
"md5_digest": "c21cf7c7bddbf54d356f888579417cf0",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 2535,
"upload_time": "2018-11-15T22:45:16",
"url": "https://files.pythonhosted.org/packages/11/f8/3f812b0f91e43753ca1b860e0a7aebc5150bc043d86e78f6b8454dfe471c/pretty_errors-1.0.2.tar.gz"
}
],
"1.0.3": [
{
"comment_text": "",
"digests": {
"md5": "f6b8292d31c8e1027ad79f4b54c38d3d",
"sha256": "c5a68b0cafe414ff9edc662df7f35a49644eae5638d52f9711731166a6cbb9f2"
},
"downloads": -1,
"filename": "pretty_errors-1.0.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "f6b8292d31c8e1027ad79f4b54c38d3d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 3760,
"upload_time": "2018-11-15T22:46:58",
"url": "https://files.pythonhosted.org/packages/f6/26/01da1becc44768b5ab568942591cedc1185f189768f6b2829616e4bf4719/pretty_errors-1.0.3-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "2c101f3facdcebbca5c8a69bf49fd1f2",
"sha256": "4a479e5335c00eb9b9225cc1b3a3f23c47a93ba45043614ae5a3007e7d63338f"
},
"downloads": -1,
"filename": "pretty_errors-1.0.3.tar.gz",
"has_sig": false,
"md5_digest": "2c101f3facdcebbca5c8a69bf49fd1f2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 2536,
"upload_time": "2018-11-15T22:47:00",
"url": "https://files.pythonhosted.org/packages/01/0e/bb3e6268056d3944ab242b0be8a63d30a1697becf723c4ffa379d6ca05e3/pretty_errors-1.0.3.tar.gz"
}
],
"1.0.4": [
{
"comment_text": "",
"digests": {
"md5": "1aeea0b2d6e99ff14e78faf2229c4e83",
"sha256": "17dd4ff95bc480f3eec5a73d3312a6b88c512640ca20e7ef70f6b3a2fca38172"
},
"downloads": -1,
"filename": "pretty_errors-1.0.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "1aeea0b2d6e99ff14e78faf2229c4e83",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 3773,
"upload_time": "2018-11-16T12:33:22",
"url": "https://files.pythonhosted.org/packages/68/82/f442904a7c5bd7285014a368721921ed33881d6ba181efe2f65b29c265d9/pretty_errors-1.0.4-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "c4277c7c160cc05425b4f022d6df88c1",
"sha256": "9f4d4377db2e89a8e2512d4be86c42ea9957e08e9d1da1b5ef15c0966d4eccde"
},
"downloads": -1,
"filename": "pretty_errors-1.0.4.tar.gz",
"has_sig": false,
"md5_digest": "c4277c7c160cc05425b4f022d6df88c1",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 2557,
"upload_time": "2018-11-16T12:33:23",
"url": "https://files.pythonhosted.org/packages/75/b6/158be9e6120c4efa1880a5400fb6f7df157a7cb2b6e786782220ec03dacc/pretty_errors-1.0.4.tar.gz"
}
],
"1.0.5": [
{
"comment_text": "",
"digests": {
"md5": "7c85dc956827b8d41d0641785edbf444",
"sha256": "59efc75198bdee6cbeef7b1812c91ced7b18ab55f3d8d1533d3ae576746b6fcf"
},
"downloads": -1,
"filename": "pretty_errors-1.0.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "7c85dc956827b8d41d0641785edbf444",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 4125,
"upload_time": "2018-11-16T15:29:52",
"url": "https://files.pythonhosted.org/packages/8b/5c/a02ab14bbef730298a1dd34cc2261e3c8d6606ebbb54e7eca1699eaf517a/pretty_errors-1.0.5-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "f5657980f16b83927d80afe1bbb67b1e",
"sha256": "d5916afd70be2daec51ce28d08fc81dd10acb793190e6a9396f99faaf9650eab"
},
"downloads": -1,
"filename": "pretty_errors-1.0.5.tar.gz",
"has_sig": false,
"md5_digest": "f5657980f16b83927d80afe1bbb67b1e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 2951,
"upload_time": "2018-11-16T15:29:53",
"url": "https://files.pythonhosted.org/packages/4a/ce/af84ab282acbf058924759e2e3f39ca036b90346c1de69667a7e36dbecbd/pretty_errors-1.0.5.tar.gz"
}
],
"1.0.6": [
{
"comment_text": "",
"digests": {
"md5": "04b450f6e6e285d2579a047b2b9ebf28",
"sha256": "ab80d2752842426ccea550cec01e57dc52eb70c0d504c2dd445e74ad0acd0fd0"
},
"downloads": -1,
"filename": "pretty_errors-1.0.6-py3-none-any.whl",
"has_sig": false,
"md5_digest": "04b450f6e6e285d2579a047b2b9ebf28",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 4670,
"upload_time": "2018-11-16T18:05:15",
"url": "https://files.pythonhosted.org/packages/e6/47/46be6fd48b37f2010deb8348e7fbd60cca7c4363a17a86986a178b1ef375/pretty_errors-1.0.6-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "3fa58f56e411b69785469f59657022f2",
"sha256": "ade99fb6e51963921657d2093fab392fa3b688d128608292c4e2025474ff9918"
},
"downloads": -1,
"filename": "pretty_errors-1.0.6.tar.gz",
"has_sig": false,
"md5_digest": "3fa58f56e411b69785469f59657022f2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 3449,
"upload_time": "2018-11-16T18:05:17",
"url": "https://files.pythonhosted.org/packages/2c/7d/ed4fdc7b99ddb5221260b9c6f9b4f13829dbc68ae3c7fed5d5a0d59b2946/pretty_errors-1.0.6.tar.gz"
}
],
"1.0.7": [
{
"comment_text": "",
"digests": {
"md5": "d713959aac39505b10a2efd005fcbce6",
"sha256": "77ee9a2beee4f4b4d7b755ed33b5b37145922bc19add2f3560edb643117d1e3f"
},
"downloads": -1,
"filename": "pretty_errors-1.0.7-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d713959aac39505b10a2efd005fcbce6",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 5495,
"upload_time": "2018-11-17T14:34:50",
"url": "https://files.pythonhosted.org/packages/02/d5/e9249d7e4dfdab5292f34f9132615c95dd3a7e2acfa473916c0340d544a3/pretty_errors-1.0.7-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "0fb1182e8be0a1ca4a48b4540f3ac4c5",
"sha256": "0d83dc3c3c37045ca5a90b6f055f32155e66243ebf4ee65fb15a77f2f85fc1fa"
},
"downloads": -1,
"filename": "pretty_errors-1.0.7.tar.gz",
"has_sig": false,
"md5_digest": "0fb1182e8be0a1ca4a48b4540f3ac4c5",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 4361,
"upload_time": "2018-11-17T14:34:52",
"url": "https://files.pythonhosted.org/packages/97/21/11ad3f192983206abc8e05db8bc82b3d34a2d4b2d5e292d5675d1c7f43c0/pretty_errors-1.0.7.tar.gz"
}
],
"1.0.8": [
{
"comment_text": "",
"digests": {
"md5": "1de8e9336caa589ee594c470f78a6cbc",
"sha256": "c214faebbb0b3962d052811df77b73cecbea66e35fcd4dbf517a762fbd046b87"
},
"downloads": -1,
"filename": "pretty_errors-1.0.8-py3-none-any.whl",
"has_sig": false,
"md5_digest": "1de8e9336caa589ee594c470f78a6cbc",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 5506,
"upload_time": "2018-11-17T15:04:44",
"url": "https://files.pythonhosted.org/packages/e1/98/5535925d4d885fb9af837946a7a75485d5ffac1e25c9f4e49556d06d441f/pretty_errors-1.0.8-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "2a384982fc1e3c739e868ab82dbf40f3",
"sha256": "b2b8ddf0a1b6827b416e1a62e7c6b2401c00253773588530f357b9df68d5c7be"
},
"downloads": -1,
"filename": "pretty_errors-1.0.8.tar.gz",
"has_sig": false,
"md5_digest": "2a384982fc1e3c739e868ab82dbf40f3",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 4425,
"upload_time": "2018-11-17T15:04:47",
"url": "https://files.pythonhosted.org/packages/6d/3c/0919adc27d4d8a42e794ff2dc309eee510bf8e5fd4f03058b0b064f0ad23/pretty_errors-1.0.8.tar.gz"
}
],
"1.0.9": [
{
"comment_text": "",
"digests": {
"md5": "1dc4b469fb4404f97a0fd8884dcf6368",
"sha256": "0cba32c5282f9647d5c53ed5553f471c0da570590c57c41cfe491ec0db30a3a1"
},
"downloads": -1,
"filename": "pretty_errors-1.0.9-py3-none-any.whl",
"has_sig": false,
"md5_digest": "1dc4b469fb4404f97a0fd8884dcf6368",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 5679,
"upload_time": "2018-11-25T17:46:44",
"url": "https://files.pythonhosted.org/packages/14/51/ecafd294521287270b5d09e52018e50da9690f4bbd6b830296120b212f1e/pretty_errors-1.0.9-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "07e0e766b0e1003b1577060f70086b57",
"sha256": "ab0ebd8994241b276fb067f639c3f7d0f9dd7fc08c0639fda8926606e7482375"
},
"downloads": -1,
"filename": "pretty_errors-1.0.9.tar.gz",
"has_sig": false,
"md5_digest": "07e0e766b0e1003b1577060f70086b57",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 4653,
"upload_time": "2018-11-25T17:46:45",
"url": "https://files.pythonhosted.org/packages/ff/7f/4d0eb84228225790317734bcb473b7ed8ec8ead2d6a57a461603068e8f08/pretty_errors-1.0.9.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "cfa76b3f49c24916c6a83c8833a83148",
"sha256": "3f1d7604dc5d944636b9c3013451cb23581bdbb43d39e14b7654bd18e2ecf400"
},
"downloads": -1,
"filename": "pretty_errors-1.0.10-py3-none-any.whl",
"has_sig": false,
"md5_digest": "cfa76b3f49c24916c6a83c8833a83148",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 5689,
"upload_time": "2018-11-26T11:23:16",
"url": "https://files.pythonhosted.org/packages/e1/88/f03676ffd46ad87a4d845b55e1cee4adba73f180426ce0cf24340ec63274/pretty_errors-1.0.10-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "0e47288e6ffd91292e72545ef15900bf",
"sha256": "f96b8f7ac87adeb9d739b76ae1a9f505d024e77089b30e1c9883e9ae85f7f7d4"
},
"downloads": -1,
"filename": "pretty_errors-1.0.10.tar.gz",
"has_sig": false,
"md5_digest": "0e47288e6ffd91292e72545ef15900bf",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 4654,
"upload_time": "2018-11-26T11:23:17",
"url": "https://files.pythonhosted.org/packages/36/77/e2da68d4871950416eb550413dbb7961dca2cb9eed85816d22c5dc5eacd5/pretty_errors-1.0.10.tar.gz"
}
]
}