{ "info": { "author": "Pacharapol Withayasakpunt", "author_email": "patarapolw@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "# HTMLViewer\n\n[![PyPI version shields.io](https://img.shields.io/pypi/v/htmlviewer.svg)](https://pypi.python.org/pypi/htmlviewer/)\n[![PyPI license](https://img.shields.io/pypi/l/htmlviewer.svg)](https://pypi.python.org/pypi/htmlviewer/)\n\nTable viewer for relational databases, without using HandsOnTable.\n\nActually, any list of JSON-serializable dictionaries can be viewed.\n\nThis is the remake of [pyhandsontable](https://github.com/patarapolw/pyhandsontable).\n\n## Installation\n\n```\npip install htmlviewer\n```\n\n## Usage\n\nIn Jupyter Notebook,\n\n```python\n>>> from htmlviewer import PagedViewer\n>>> viewer = PagedViewer(LIST_OF_RECORDS, **kwargs)\n>>> viewer\n'A table is shown on Jupyter Notebook.'\n>>> viewer.view(-1)\n'The last page is shown.'\n>>> viewer.previous()\n'The previous page (i-1) is shown.'\n>>> viewer.next()\n'The next page (i+1) is shown.\n```\n\nAcceptable kwargs are,\n\n```python\n{\n 'maxColWidth': 200, # Maximum column width for all columns.\n 'minColWidth': '8em',\n 'maxRowHeight': 500, # Maximum row height for all rows.,\n 'colWidth': {\n 'imageField': 500\n },\n 'renderer': {\n 'imageField': 'html' # Set the field to allow HTML.\n }\n 'rowHeader': 'id' # Selecting a custom column to be the first row, aka rowHeader.\n}\n```\n\n## Embedding images, markdown and HTML.\n\nThis can be done in Python side, by converting everything to HTML. Just use [any markdown for Python library](https://github.com/Python-Markdown/markdown).\n\n```python\nfrom markdown import markdown\nimport base64\nimage_html = f''\nimage_html2 = f''\nmarkdown_html = markdown(markdown_raw)\n```\n\nAny then,\n\n```python\nPagedViewer(LIST_OF_RECORDS, renderers={\n \"image_field\": \"html\",\n \"html_field\": \"html\",\n \"markdown_field\": \"html\"\n})\n```\n\n## Screenshots\n\n![0.png](/screenshots/0.png)\n\n## Related projects\n\n- [pyhandsontable](https://github.com/patarapolw/pyhandsontable) - View a list of JSON-serializable dictionaries or a 2-D array, in HandsOnTable, in Jupyter Notebook.\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/patarapolw/htmlviewer", "keywords": "", "license": "MIT", "maintainer": "Pacharapol Withayasakpunt", "maintainer_email": "patarapolw@gmail.com", "name": "htmlviewer", "package_url": "https://pypi.org/project/htmlviewer/", "platform": "", "project_url": "https://pypi.org/project/htmlviewer/", "project_urls": { "Homepage": "https://github.com/patarapolw/htmlviewer" }, "release_url": "https://pypi.org/project/htmlviewer/0.1.7/", "requires_dist": [ "jinja2 (>=2.10,<3.0)", "jupyter (>=1.0,<2.0)", "notebook (>=5.7,<6.0)" ], "requires_python": "", "summary": "Table viewer for relational databases, without using HandsOnTable.", "version": "0.1.7" }, "last_serial": 4384627, "releases": { "0.1.1.10": [ { "comment_text": "", "digests": { "md5": "9bbdf0fb9665a0119a362102deb56e18", "sha256": "deef806788676798533d765976d102163418881ec9f7f59ae03e10806241167d" }, "downloads": -1, "filename": "htmlviewer-0.1.1.10-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9bbdf0fb9665a0119a362102deb56e18", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 17104, "upload_time": "2018-10-08T15:13:47", "url": "https://files.pythonhosted.org/packages/51/3d/678e3ac87905ebc494ffc62f05448e3a6508ff725a50a82e623466573403/htmlviewer-0.1.1.10-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c7b9880eff0d207cb3ba184105a5d5ca", "sha256": "d9c49e8566445f47bbada503ce4d816fb97d58b0ae677837b711facfb6b64fa9" }, "downloads": -1, "filename": "htmlviewer-0.1.1.10.tar.gz", "has_sig": false, "md5_digest": "c7b9880eff0d207cb3ba184105a5d5ca", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7377, "upload_time": "2018-10-08T15:13:49", "url": "https://files.pythonhosted.org/packages/c2/c7/8c625ad2da92ad8e3d19c9af80757b77de5c8c880f86e17d62fafc18d0dc/htmlviewer-0.1.1.10.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "d80d52c86ef467a9cb6323a4639c1dec", "sha256": "021cfc5aca34ae755ee6f94d5d18f4531e315a7557979934399b2f1155601a3e" }, "downloads": -1, "filename": "htmlviewer-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d80d52c86ef467a9cb6323a4639c1dec", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 17163, "upload_time": "2018-10-08T15:16:37", "url": "https://files.pythonhosted.org/packages/82/8c/7267b47e915477de52410469d9004b1ccc36b5ede933592d0a878c06993b/htmlviewer-0.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3aa8160acc25729e5808e581bf274f9c", "sha256": "636d25286f759a67a9ab295887790a871e6d62557e202d02c016f64c6d2fbc52" }, "downloads": -1, "filename": "htmlviewer-0.1.2.tar.gz", "has_sig": false, "md5_digest": "3aa8160acc25729e5808e581bf274f9c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7489, "upload_time": "2018-10-08T15:16:38", "url": "https://files.pythonhosted.org/packages/9a/da/dfa4294e5e34a568a6e4cb9bed2719249266224f33b08e15101250f85512/htmlviewer-0.1.2.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "5e08ee7702e741c20f3f2deb6ca1d3cf", "sha256": "eab7587e292f9905a67007556fd941a3c91410a926aeb0c120bac8ba492944b5" }, "downloads": -1, "filename": "htmlviewer-0.1.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5e08ee7702e741c20f3f2deb6ca1d3cf", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 20668, "upload_time": "2018-10-11T23:20:10", "url": "https://files.pythonhosted.org/packages/da/94/23625952e35c9ed2fea370e5ef2ac949f8e7c6180008acfae89f81d26467/htmlviewer-0.1.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "feeed1f224f2152ce958364182133e94", "sha256": "a2ccaa6a33784da2312a0ad9de82870549bcb7bad382435a570bb062c1de57e9" }, "downloads": -1, "filename": "htmlviewer-0.1.6.tar.gz", "has_sig": false, "md5_digest": "feeed1f224f2152ce958364182133e94", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9143, "upload_time": "2018-10-11T23:20:12", "url": "https://files.pythonhosted.org/packages/6d/5d/f729cf20d6289588662b8e453e041a219de8443dcb7c3fb6dc61a36e2825/htmlviewer-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "e18b38b9ef2d1ef79317523a1aa7cf04", "sha256": "89bbc818a14e491527412abbb7a03423a9dde8dbebd22a76e0d7a4b775215901" }, "downloads": -1, "filename": "htmlviewer-0.1.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e18b38b9ef2d1ef79317523a1aa7cf04", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 22050, "upload_time": "2018-10-17T01:56:51", "url": "https://files.pythonhosted.org/packages/4c/84/419d0ad2840ad61825a9ffda79e35fcf00505f8c7552e593394d9ded590b/htmlviewer-0.1.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3f31007531480687a2e32eff982796ff", "sha256": "035cba8a64218d568587b6b9a347a1e1b0ab640fc9cb156f68e1a7d02fa40dcf" }, "downloads": -1, "filename": "htmlviewer-0.1.7.tar.gz", "has_sig": false, "md5_digest": "3f31007531480687a2e32eff982796ff", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9603, "upload_time": "2018-10-17T01:56:53", "url": "https://files.pythonhosted.org/packages/bc/c8/64a2800e4c7cf5643b80d6ff800ce54452f0a62fa89756dac2a35cde40ba/htmlviewer-0.1.7.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e18b38b9ef2d1ef79317523a1aa7cf04", "sha256": "89bbc818a14e491527412abbb7a03423a9dde8dbebd22a76e0d7a4b775215901" }, "downloads": -1, "filename": "htmlviewer-0.1.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e18b38b9ef2d1ef79317523a1aa7cf04", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 22050, "upload_time": "2018-10-17T01:56:51", "url": "https://files.pythonhosted.org/packages/4c/84/419d0ad2840ad61825a9ffda79e35fcf00505f8c7552e593394d9ded590b/htmlviewer-0.1.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3f31007531480687a2e32eff982796ff", "sha256": "035cba8a64218d568587b6b9a347a1e1b0ab640fc9cb156f68e1a7d02fa40dcf" }, "downloads": -1, "filename": "htmlviewer-0.1.7.tar.gz", "has_sig": false, "md5_digest": "3f31007531480687a2e32eff982796ff", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9603, "upload_time": "2018-10-17T01:56:53", "url": "https://files.pythonhosted.org/packages/bc/c8/64a2800e4c7cf5643b80d6ff800ce54452f0a62fa89756dac2a35cde40ba/htmlviewer-0.1.7.tar.gz" } ] }