{ "info": { "author": "Pacharapol Withayasakpunt", "author_email": "patarapolw@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "# pyhandsontable\n\n[](https://travis-ci.org/patarapolw/pyhandsontable)\n[](https://pypi.python.org/pypi/pyhandsontable/)\n[](https://pypi.python.org/pypi/pyhandsontable/)\n[](https://pypi.python.org/pypi/pyhandsontable/)\n\nView a list of JSON-serializable dictionaries or a 2-D array, in HandsOnTable, in Jupyter Notebook.\n\nNested JSON renderer is also supported and is default. Image and markdown renderers are possible, but has to be extended.\n\n## Installation\n\n```commandline\npip install pyhandsontable\n```\n\n## Usage\n\nIn Jupyter Notebook,\n\n```python\n>>> from pyhandsontable import PagedViewer\n>>> viewer = PagedViewer(data=data_matrix, **kwargs)\n>>> viewer\n'A Handsontable is shown in 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\nData matrix can be either a list of lists (2-D array) or a list of dictionaries.\n\nIt is also possible to view all entries at once, but it could be bad, if there are too many rows.\n\n```python\n>>> from pyhandsontable import view_table\n>>> view_table(data_matrix, **kwargs)\n```\n\n## Acceptable kwargs\n\n- height: height of the window (default: 500)\n- width: width of the window (default: 1000)\n- title: title of the HTML file\n- maxColWidth: maximum column width. (Default: 200)\n- renderers: the renderers to use in generating the columns (see below.)\n- autodelete: whether the temporary HTML file should be autodeleted. (Default: True)\n- filename: filename of the temporary HTML file (default: 'temp.handsontable.html')\n- config: add additional config as defined in https://docs.handsontable.com/pro/5.0.0/tutorial-introduction.html\n - This will override the default config (per key basis) which are:\n \n```javascript\n{\n data: data,\n rowHeaders: true,\n colHeaders: true,\n columns: columns,\n manualColumnResize: true,\n manualRowResize: true,\n renderAllRows: true,\n modifyColWidth: (width, col)=>{\n if(width > maxColWidth) return maxColWidth;\n },\n afterRenderer: (td, row, column, prop, value, cellProperties)=>{\n td.innerHTML = '