{
"info": {
"author": "Georges Duverger",
"author_email": "georges.duverger@gmail.com",
"bugtrack_url": null,
"classifiers": [
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Natural Language :: English",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3"
],
"description": "PlainChart\n==========\n\nA simple plain-text, no-dependencies, `pip`-installable, open-source charting utility in Python.\n\nUsage:\n```python\n>>> import plainchart\n>>> chart = plainchart.PlainChart([3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 9]) # \ud83e\udd67\n>>> print(chart.render())\n\n \u258c \u258c\n \u258c \u258c\n \u258c \u258c\n \u258c \u258c \u258c\n \u258c\u258c \u258c\u258c \u258c\u258c\n \u258c\u258c \u258c\u258c \u258c\u258c\n \u258c \u258c\u258c \u258c\u258c \u258c\u258c\n\u258c \u258c \u258c\u258c \u258c\u258c\u258c\u258c\u258c\n\u258c \u258c \u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c\n\u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c\n```\n\nInstallation\n------------\n\nTo install PlainChart, you can use [pipenv](http://pipenv.org/) or pip:\n```bash\n$ pipenv install plainchart\n```\n\nFeatures\n--------\n\nWith PlainChart, you can:\n- render an array of values in a plain text chart\n- limit the height of the chart and have the values rendered accordingly\n- render a different style of chart, e.g., `plainchart.PlainChart.bar` or `plainchart.PlainChart.scatter`\n- implement your own style of chart, e.g., `mean_html` (see example below)\n\nExamples\n--------\n\n```python\n>>> import plainchart\n>>> import random\n>>>\n>>> values = [random.randint(0, 10) for _ in range(100)]\n>>> chart = plainchart.PlainChart(values)\n>>>\n>>> print(chart.render())\n\n \u258c \u258c \u258c \u258c \u258c \u258c \u258c \u258c\n \u258c \u258c \u258c \u258c\u258c \u258c \u258c \u258c \u258c \u258c \u258c \u258c \u258c\n \u258c \u258c \u258c\u258c \u258c\u258c \u258c \u258c \u258c\u258c \u258c \u258c \u258c\u258c \u258c \u258c \u258c \u258c \u258c \u258c \u258c \u258c \u258c\n \u258c \u258c \u258c\u258c \u258c\u258c \u258c\u258c\u258c \u258c \u258c\u258c \u258c\u258c\u258c \u258c \u258c \u258c \u258c\u258c \u258c \u258c\u258c \u258c \u258c \u258c \u258c \u258c \u258c \u258c \u258c \u258c\n \u258c \u258c \u258c\u258c\u258c \u258c\u258c \u258c\u258c\u258c \u258c\u258c \u258c\u258c \u258c\u258c\u258c\u258c \u258c \u258c \u258c \u258c \u258c \u258c\u258c \u258c \u258c\u258c \u258c \u258c \u258c \u258c \u258c\u258c\u258c \u258c \u258c \u258c \u258c\n \u258c \u258c \u258c\u258c\u258c \u258c\u258c \u258c\u258c\u258c \u258c\u258c \u258c\u258c \u258c\u258c\u258c\u258c \u258c\u258c \u258c \u258c \u258c \u258c \u258c \u258c\u258c \u258c \u258c\u258c \u258c \u258c\u258c \u258c \u258c\u258c\u258c\u258c\u258c\u258c\u258c \u258c\u258c\u258c \u258c \u258c\n \u258c \u258c \u258c\u258c\u258c \u258c\u258c \u258c\u258c\u258c \u258c\u258c \u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c \u258c\u258c\u258c \u258c \u258c \u258c \u258c \u258c \u258c \u258c \u258c \u258c\u258c \u258c \u258c\u258c \u258c \u258c\u258c \u258c \u258c\u258c\u258c\u258c\u258c\u258c\u258c \u258c\u258c\u258c \u258c\u258c \u258c\u258c\n \u258c \u258c \u258c\u258c\u258c\u258c \u258c\u258c\u258c \u258c\u258c\u258c\u258c \u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c \u258c\u258c\u258c \u258c \u258c \u258c \u258c \u258c\u258c\u258c \u258c \u258c \u258c\u258c \u258c\u258c\u258c \u258c \u258c\u258c\u258c \u258c \u258c\u258c \u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c \u258c\u258c\u258c \u258c\u258c \u258c \u258c\u258c\n \u258c\u258c\u258c\u258c \u258c\u258c\u258c\u258c \u258c\u258c\u258c \u258c\u258c\u258c\u258c \u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c \u258c\u258c\u258c \u258c\u258c \u258c \u258c \u258c\u258c\u258c\u258c\u258c\u258c\u258c \u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c \u258c\u258c \u258c\u258c\u258c\u258c\u258c \u258c\u258c\u258c\u258c \u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c \u258c\u258c\u258c \u258c\u258c\u258c \u258c\u258c\u258c\u258c\n\u258c\u258c\u258c\u258c\u258c \u258c\u258c\u258c\u258c \u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c \u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c \u258c\u258c \u258c \u258c\u258c \u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c \u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c \u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c\u258c\n```\n\n```python\n>>> import plainchart\n>>> import math\n>>> import numpy as np\n>>>\n>>> values = [1.3 + math.sin(x) for x in np.linspace(0, 4 * math.pi, num=100)]\n>>> chart = plainchart.PlainChart(values, style=plainchart.PlainChart.scatter)\n>>>\n>>> print(chart.render())\n\n \u00d7\u00d7\u00d7\u00d7\u00d7\u00d7\u00d7\u00d7 \u00d7\u00d7\u00d7\u00d7\u00d7\u00d7\u00d7\n \u00d7\u00d7\u00d7 \u00d7\u00d7\u00d7 \u00d7\u00d7\u00d7 \u00d7\u00d7\u00d7\n \u00d7\u00d7 \u00d7\u00d7 \u00d7\u00d7\u00d7 \u00d7\u00d7\n \u00d7\u00d7 \u00d7\u00d7 \u00d7 \u00d7\u00d7\n\u00d7\u00d7 \u00d7\u00d7 \u00d7\u00d7 \u00d7\u00d7 \u00d7\n \u00d7 \u00d7\u00d7 \u00d7\u00d7 \u00d7\u00d7\n \u00d7\u00d7 \u00d7\u00d7 \u00d7\u00d7 \u00d7\u00d7\n \u00d7\u00d7\u00d7 \u00d7\u00d7 \u00d7\u00d7 \u00d7\u00d7\n \u00d7\u00d7\u00d7 \u00d7\u00d7\u00d7\u00d7 \u00d7\u00d7\u00d7\u00d7 \u00d7\u00d7\u00d7\u00d7\n \u00d7\u00d7\u00d7\u00d7\u00d7 \u00d7\u00d7\u00d7\u00d7\n```\n\nYou can also implement your own style of chart. Below is an example of a HTML chart (`mean_html.py`) with different colors for values below and above the mean.\n\n```python\nimport plainchart\nimport random\nimport statistics\n\ndef mean_html(chart, value, y):\n\tmean = statistics.mean(chart.values)\n\tmean_y = chart.y(mean)\n\tvalue_y = chart.y(value)\n\n\tif value_y <= mean_y:\n\n\t\tif y <= value_y:\n\t\t\treturn '\u258c'\n\n\t\treturn '\u258c'\n\n\telse:\n\n\t\tif y <= mean_y:\n\t\t\treturn '\u258c'\n\n\t\telif y <= value_y:\n\t\t\treturn '\u258c'\n\n\t\treturn '\u258c'\n\nvalues = [random.randint(0, 10) for _ in range(100)]\nchart = plainchart.PlainChart(values, style=mean_html)\n\nprint(chart.render(new_line='
'))\n```\n\n```bash\n$ python mean_html.py > mean.html\n```\n\n\n\nContribute\n----------\n\nPlease feel free to open an issue to propose a new feature or point out a bug. You can also fork the PlainChart repository and submit a pull request.\n\nSupport\n-------\n\nPlainChart is free and under the [MIT License](LICENSE). To support its development, you can make a donation to [cash.me/$gduverger](https://cash.me/$gduverger).\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/gduverger/plainchart",
"keywords": "",
"license": "MIT",
"maintainer": "",
"maintainer_email": "",
"name": "plainchart",
"package_url": "https://pypi.org/project/plainchart/",
"platform": "",
"project_url": "https://pypi.org/project/plainchart/",
"project_urls": {
"Homepage": "https://github.com/gduverger/plainchart"
},
"release_url": "https://pypi.org/project/plainchart/0.2.1/",
"requires_dist": null,
"requires_python": ">=3",
"summary": "A simple plain-text, no-dependencies, pip-installable, open-source charting utility in Python.",
"version": "0.2.1"
},
"last_serial": 4229425,
"releases": {
"0.2.0": [
{
"comment_text": "",
"digests": {
"md5": "c8615dc46930f8b0f4f738ae00aa9508",
"sha256": "71ec2554271c4a3c2613bb2a94154131281041caec0cc1dda6179f72a77d70a4"
},
"downloads": -1,
"filename": "plainchart-0.2.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "c8615dc46930f8b0f4f738ae00aa9508",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3",
"size": 3741,
"upload_time": "2018-08-26T15:42:34",
"url": "https://files.pythonhosted.org/packages/10/bb/c789bb3f41e8cd850e96bdbe93cb3a44eaf33a336eed739a59eed512f00d/plainchart-0.2.0-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "6f7a125f606a8d06f5a25136fc8b821c",
"sha256": "d8e78a2adbdfcddcb1128bd1647f2ec207189430ccaca001e8c2babda6dbe292"
},
"downloads": -1,
"filename": "plainchart-0.2.0.tar.gz",
"has_sig": false,
"md5_digest": "6f7a125f606a8d06f5a25136fc8b821c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3",
"size": 3301,
"upload_time": "2018-08-26T15:42:36",
"url": "https://files.pythonhosted.org/packages/2a/71/26d122cf47bee9030f701107e04a856c2ce24dde874196d4c7644f7099a1/plainchart-0.2.0.tar.gz"
}
],
"0.2.1": [
{
"comment_text": "",
"digests": {
"md5": "314ab8b04e95a3a566c64d930d78cb17",
"sha256": "ef99c009dfef2cd7e5dd28fef01e284f337bb22ca4b499dfcaa8bdd819164c19"
},
"downloads": -1,
"filename": "plainchart-0.2.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "314ab8b04e95a3a566c64d930d78cb17",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3",
"size": 3777,
"upload_time": "2018-09-01T15:58:45",
"url": "https://files.pythonhosted.org/packages/04/05/50ff85624076396dbc1bc3569d495d89fe68c2506f6c7e3240edf9876334/plainchart-0.2.1-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "46990029a0c85af402c10970207b0df0",
"sha256": "27b0aef82d2b80c76ecb3e00ad162daa9490945e6400d91ceab1c91643bfb81b"
},
"downloads": -1,
"filename": "plainchart-0.2.1.tar.gz",
"has_sig": false,
"md5_digest": "46990029a0c85af402c10970207b0df0",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3",
"size": 3348,
"upload_time": "2018-09-01T15:58:46",
"url": "https://files.pythonhosted.org/packages/9a/fd/97e94f5f4398d74597d23173e42819b03505a7dcc93c9d6cd95860e46a1d/plainchart-0.2.1.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "314ab8b04e95a3a566c64d930d78cb17",
"sha256": "ef99c009dfef2cd7e5dd28fef01e284f337bb22ca4b499dfcaa8bdd819164c19"
},
"downloads": -1,
"filename": "plainchart-0.2.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "314ab8b04e95a3a566c64d930d78cb17",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3",
"size": 3777,
"upload_time": "2018-09-01T15:58:45",
"url": "https://files.pythonhosted.org/packages/04/05/50ff85624076396dbc1bc3569d495d89fe68c2506f6c7e3240edf9876334/plainchart-0.2.1-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "46990029a0c85af402c10970207b0df0",
"sha256": "27b0aef82d2b80c76ecb3e00ad162daa9490945e6400d91ceab1c91643bfb81b"
},
"downloads": -1,
"filename": "plainchart-0.2.1.tar.gz",
"has_sig": false,
"md5_digest": "46990029a0c85af402c10970207b0df0",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3",
"size": 3348,
"upload_time": "2018-09-01T15:58:46",
"url": "https://files.pythonhosted.org/packages/9a/fd/97e94f5f4398d74597d23173e42819b03505a7dcc93c9d6cd95860e46a1d/plainchart-0.2.1.tar.gz"
}
]
}