{ "info": { "author": "Yann B\u00fcchau", "author_email": "nobodyinperson@gmx.de", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: GNU General Public License v3 (GPLv3)" ], "description": "# Polt\n\nLive data visualisation via Matplotlib\n\n[![pipeline status](https://gitlab.com/nobodyinperson/python3-polt/badges/master/pipeline.svg)](https://gitlab.com/nobodyinperson/python3-polt/commits/master)\n[![coverage report](https://gitlab.com/nobodyinperson/python3-polt/badges/master/coverage.svg)](https://nobodyinperson.gitlab.io/python3-polt/coverage-report/)\n[![documentation](https://img.shields.io/badge/docs-sphinx-brightgreen.svg)](https://nobodyinperson.gitlab.io/python3-polt/)\n[![PyPI](https://badge.fury.io/py/polt.svg)](https://badge.fury.io/py/polt)\n\n`polt` is a Python package for live data visualisation via\n[Matplotlib](https://matplotlib.org/).\n\n## What can `polt` do?\n\n### Reading Numbers from STDIN\n\n```bash\npolt generate -c walk --max-rate 20 | polt live\n```\n\n![polt-random-walk-stdin](https://gitlab.com/nobodyinperson/python3-polt/uploads/5b869729f3abc5a630c1fc2861c9a012/polt-live-random-walk.png)\n\n### Reading CSV from STDIN\n\n```bash\npolt generate \\\n -c \"sensor1_temperature_celsius=uniform(20,25)\" \\\n -c \"sensor1_pressure_hPa=uniform(990,1020)\" \\\n -c \"sensor2_pressure_hPa=uniform(990,1020)\" \\\n -c \"sensor3_humidity_percent=uniform(10,90)\" \\\n -c \"sensor3_temperature_kelvin=uniform(0,300)\" \\\n --max-rate 5 \\\n | polt \\\n add-source -p csv -o name=Data -o header-regex=key-quantity-unit \\\n live -o extrapolate=yes -o subplots-for=unit\n```\n\n![polt-csv-stdin](https://gitlab.com/nobodyinperson/python3-polt/uploads/2e6c1c25d6a828bff4c075dec980e6a2/polt-live-5-random-sensors-by-unit.png)\n\n### Reading Live Data from Logfiles\n\nImagine you have a file `data.txt` where another process constantly writes\nlines of numbers into. `polt` can then use the common `tail` program to watch\nthat data:\n\n```bash\npolt add-source -c \"tail -fn0 data.txt\" live\n```\n\n### Configuration Files\n\n`polt` can use configuration files (by default `~/.config/polt/polt.conf` and\n`.polt.conf` in the current directory) to simplify invocation. It is also\npossible to read and save the current configuration with the `polt config`\ncommand.\n\n### Easy to Customize\n\nIt is easy to extend `polt` with your own data parsers, filters or animation\nroutines. Check [the\ndocumentation](https://nobodyinperson.gitlab.io/python3-polt/) for further\ninformation.\n\n## Why on Earth is it called `polt` and not `plot`!?\n\nI am a big fan of swapping syllables or characters around resulting in\nridiculously-sounding words. `polt` is one of those words which I am generating\nquite frequently when typing quickly.\n\n## Installation\n\nThe `polt` package is best installed via `pip`. Run from anywhere:\n\n```bash\npython3 -m pip install --user polt\n```\n\nThis downloads and installs the package from the [Python Package\nIndex](https://pypi.org).\n\nYou may also install `polt` from the repository root:\n\n```bash\npython3 -m pip install --user .\n```\n\n## Translations\n\nCurrently, the following languages are available:\n\n- English\n- German\n\nIf you are interested in adding another language, just [open a New Issue\n](https://gitlab.com/nobodyinperson/python3-polt/issues/new) and we will get\nyou going.\n\n## Documentation\n\nDocumentation of the `polt` package can be found [here on\nGitLab](https://nobodyinperson.gitlab.io/python3-polt/).\n\nAlso, the command-line help page `polt -h` is your friend.", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://gitlab.com/nobodyinperson/python3-polt", "keywords": "live,plot,plotting,data,visualisation,matplotlib", "license": "GPLv3", "maintainer": "", "maintainer_email": "", "name": "polt", "package_url": "https://pypi.org/project/polt/", "platform": "", "project_url": "https://pypi.org/project/polt/", "project_urls": { "Homepage": "https://gitlab.com/nobodyinperson/python3-polt" }, "release_url": "https://pypi.org/project/polt/0.12.1/", "requires_dist": null, "requires_python": "", "summary": "Live data visualisation via Matplotlib", "version": "0.12.1" }, "last_serial": 4991675, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "0552a91c48d4a43ef48aa8825e775042", "sha256": "99f7c38ff575c50a73203e3b1979161c1bfc52889387c5ee66fa4546e204e1d8" }, "downloads": -1, "filename": "polt-0.1.0.tar.gz", "has_sig": false, "md5_digest": "0552a91c48d4a43ef48aa8825e775042", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9939, "upload_time": "2018-12-20T17:09:59", "url": "https://files.pythonhosted.org/packages/16/ef/ff60f64c280836fc33f1061a4465b869e6636322d33be380c63e992ba837/polt-0.1.0.tar.gz" } ], "0.10.0": [ { "comment_text": "", "digests": { "md5": "955755b0adeccee0cf58d7a0ee545dea", "sha256": "719532bd95fd399fb4cc524fa952681e56a0e9c2bf4ae07c4f698b92803077b6" }, "downloads": -1, "filename": "polt-0.10.0.tar.gz", "has_sig": false, "md5_digest": "955755b0adeccee0cf58d7a0ee545dea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59361, "upload_time": "2019-01-19T20:14:38", "url": "https://files.pythonhosted.org/packages/c7/30/75a7ab158e4e9c4732ce894c23268233d1fdff34bb6bce3fc3a9db493390/polt-0.10.0.tar.gz" } ], "0.11.1": [ { "comment_text": "", "digests": { "md5": "ca89a8a09ae6f1bf560875f1d76f92fe", "sha256": "a19db006d9c715b7e05eab217dd6e61dce8ce717c1c29d3633510e645cbad583" }, "downloads": -1, "filename": "polt-0.11.1.tar.gz", "has_sig": false, "md5_digest": "ca89a8a09ae6f1bf560875f1d76f92fe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59412, "upload_time": "2019-01-29T20:14:29", "url": "https://files.pythonhosted.org/packages/46/a1/10af7fea9bfaaef21548f3c0389b2ef76d828757e01615557d3f75928c6f/polt-0.11.1.tar.gz" } ], "0.12.0": [ { "comment_text": "", "digests": { "md5": "5a36e30cb4cf0a794affab762f650519", "sha256": "733796e5db5b897392ec58007f04c2a46caa1b0b44aa6bb08b15661eb5bcdcab" }, "downloads": -1, "filename": "polt-0.12.0.tar.gz", "has_sig": false, "md5_digest": "5a36e30cb4cf0a794affab762f650519", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59501, "upload_time": "2019-01-30T09:32:28", "url": "https://files.pythonhosted.org/packages/f8/2a/dc479f091bd39b93475dfa35a5f416bb12ef32836d24eaeec3345fc9ec6d/polt-0.12.0.tar.gz" } ], "0.12.1": [ { "comment_text": "", "digests": { "md5": "b74d60a098486984a32beb68d186a13f", "sha256": "1ccfa1900628876de2399c5c7b290ff0125d4151420ba34d9224a5b00b6a9ae2" }, "downloads": -1, "filename": "polt-0.12.1.tar.gz", "has_sig": false, "md5_digest": "b74d60a098486984a32beb68d186a13f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59500, "upload_time": "2019-03-27T09:34:55", "url": "https://files.pythonhosted.org/packages/07/cf/fd92c07def7251c75d434853f30be1ac80c4bbbb8dd156244f32ef34f831/polt-0.12.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "2340cbf37e97a9a7218b3c42a41377f1", "sha256": "96ac14fb3f1d0acbb859955a98f6d9aacd1a79f48f9e9550376264c6e9252153" }, "downloads": -1, "filename": "polt-0.2.0.tar.gz", "has_sig": false, "md5_digest": "2340cbf37e97a9a7218b3c42a41377f1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33600, "upload_time": "2018-12-27T13:52:46", "url": "https://files.pythonhosted.org/packages/5d/a2/aade413deff87ef730d3717dc1a5c5342493ae338b3e17f39c58043d32a6/polt-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "7f2c400308e20f67bd5d2f806155eaa6", "sha256": "31b044312ff36a56a625613bb00594b7c9fb6c1cc418653ec1c3541c1addee07" }, "downloads": -1, "filename": "polt-0.3.0.tar.gz", "has_sig": false, "md5_digest": "7f2c400308e20f67bd5d2f806155eaa6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34698, "upload_time": "2019-01-03T16:04:14", "url": "https://files.pythonhosted.org/packages/e5/78/f34f8c04acc01d6718edf49f8f18775b57e3af86dedb288284f22238b038/polt-0.3.0.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "d474eb87097925a82a2bc46db8b4a6bf", "sha256": "7ef270877dbda9439b35334a3e176a7893d055aa027fdb4687e72e962e3a5ac3" }, "downloads": -1, "filename": "polt-0.4.0.tar.gz", "has_sig": false, "md5_digest": "d474eb87097925a82a2bc46db8b4a6bf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37456, "upload_time": "2019-01-04T17:06:24", "url": "https://files.pythonhosted.org/packages/4e/a2/eabb7705f693d8ff45a609f3ea17dc1f80531d47b10c41b99e8c6fd98cfc/polt-0.4.0.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "204effb8a4338cabf7dd8685172ad036", "sha256": "e3c38fe322a57318725366876ce0ed3fa691b6047f5a8abbec57332562071470" }, "downloads": -1, "filename": "polt-0.5.0.tar.gz", "has_sig": false, "md5_digest": "204effb8a4338cabf7dd8685172ad036", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40679, "upload_time": "2019-01-06T21:03:34", "url": "https://files.pythonhosted.org/packages/f2/ba/eb78c9121ec004059d3cd267a076c6097564a4ce93187081b1ba3edd37fc/polt-0.5.0.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "05e8bd68d85090db83a49ca225f345c9", "sha256": "88f21e52b3a478b8d42ae5b1c7eaec9b373cc3ac6c2348e4ce2d62c314a15b5e" }, "downloads": -1, "filename": "polt-0.6.0.tar.gz", "has_sig": false, "md5_digest": "05e8bd68d85090db83a49ca225f345c9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41711, "upload_time": "2019-01-07T12:00:36", "url": "https://files.pythonhosted.org/packages/90/5d/deb6bd2c1a91243ee87e4f35f96902fb94318a4b61dbdb4e3c06b2684327/polt-0.6.0.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "8008fb2bcc57ee58f4b729b179692053", "sha256": "4d8fca4829a475917832a4aa58d657353bbe1cf6cea952c3cfac7e69ab12044b" }, "downloads": -1, "filename": "polt-0.7.0.tar.gz", "has_sig": false, "md5_digest": "8008fb2bcc57ee58f4b729b179692053", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45671, "upload_time": "2019-01-10T14:37:49", "url": "https://files.pythonhosted.org/packages/45/0b/588f74f9d9fd9ca2f1f536bd684f383b9ff1a7b7f02a3149f01d69f00dd7/polt-0.7.0.tar.gz" } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "408274640b9fb7da6b43c436ee78805b", "sha256": "c736b344d3a53606d1e1ae245c0cc09c27ad62cff998ae66ebd9b30e45b9da96" }, "downloads": -1, "filename": "polt-0.8.0.tar.gz", "has_sig": false, "md5_digest": "408274640b9fb7da6b43c436ee78805b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 53648, "upload_time": "2019-01-14T16:44:47", "url": "https://files.pythonhosted.org/packages/c3/b7/fab44e6618a84e0d38e072977011825b47cdc8c9ec23720178958fe4868a/polt-0.8.0.tar.gz" } ], "0.9.0": [ { "comment_text": "", "digests": { "md5": "b811d4d5a58f5429ca4e16c584940c3e", "sha256": "f5165f9c2d367dad4ff7bc0f27f6ffa47740e0f9d23c1ce6df46808e8b35034e" }, "downloads": -1, "filename": "polt-0.9.0.tar.gz", "has_sig": false, "md5_digest": "b811d4d5a58f5429ca4e16c584940c3e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 55774, "upload_time": "2019-01-15T17:26:10", "url": "https://files.pythonhosted.org/packages/5f/2d/cda8e6424c1dfea865fa9270987bfc93647fdf6e39850e9c16607dfa459d/polt-0.9.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b74d60a098486984a32beb68d186a13f", "sha256": "1ccfa1900628876de2399c5c7b290ff0125d4151420ba34d9224a5b00b6a9ae2" }, "downloads": -1, "filename": "polt-0.12.1.tar.gz", "has_sig": false, "md5_digest": "b74d60a098486984a32beb68d186a13f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59500, "upload_time": "2019-03-27T09:34:55", "url": "https://files.pythonhosted.org/packages/07/cf/fd92c07def7251c75d434853f30be1ac80c4bbbb8dd156244f32ef34f831/polt-0.12.1.tar.gz" } ] }