{ "info": { "author": "salpreh", "author_email": "salva.perez46@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "# tablat\n\n\n[![PyPI version](https://badge.fury.io/py/tablat.svg)](https://badge.fury.io/py/tablat)\n[![PyPI version](https://img.shields.io/github/license/salpreh/tablat.svg)](https://img.shields.io/github/license/salpreh/tablat.svg)\n\n**A simple way to print output in a table**\n\n---\n## Basic usage\nJust create a `Table` object and give it a headers list and the data. The number of columns will be calculated from the number of headers.\n\n#### Code sample\n```py\nfrom pathlib import Path\nfrom tablat import Table\n\nfolder_path = Path('./')\nheader = ['FILE_NAME', 'FOLDER', 'FILES_IN']\ndata = []\n\nfor file_path in folder_path.iterdir():\n data.append(file_path.name)\n if file_path.is_dir():\n data.extend(['YES', len([f for f in file_path.iterdir()])])\n\n else:\n data.extend(['NO', 0])\n\nmy_table = Table(data, header)\nmy_table.print_table()\n```\n*Note: `print(my_table)` is also valid*\n\n#### Output\n\"table_output\"\n\n---\n## Installation\nYou can intall the package using [pip](https://pip.pypa.io/en/stable/) (Python Package Installer)\n```sh\npip install tablat\n```\nor\n```sh\npython -m pip install tablat\n```\n\n---\n## Usage\n\n### Creating and modifying `Table`\n\n`Table` object can be initialized with the data or empty:\n```py\nmy_table = Table(data=my_data, headers=my_headers)\n```\nIf it is initialized empty it can be modified or updated later:\n```py\nmy_table = Table()\nmy_table.headers = ['FILE_NAME', 'IS_DIR']\nmy_table.table_data = ['My docs', True, 'profile_pic.png', False]\n```\nTable data can be expanded anytime:\n```py\nfor file_path in Path('./').iterdir():\n my_table.add_data([file_path.name, file_path.is_dir()])\n```\n\n#### Loading `Table` data by column\n\nYou can use the method `set_column_content(column_dict)` to init the `Table` by columns.\nThis method expects a `dict` with the column names as **keys** and a list with the column data as **values**.\n\n```json\n{\n \"column_name1\": [\"item11\", \"item12\", \"item13\"],\n \"column_name2\": [\"item21\", \"item21\", \"item23\"],\n .\n .\n .\n}\n```\n\nHere is the example from the begining modified:\n```py\nfrom pathlib import Path\nfrom tablat import Table\n\nfolder_path = Path('./')\ncolumn_data = {\n 'FILE_NAME': [],\n 'FOLDER': [],\n 'FILES_IN': []\n}\nfor file_path in test_path.iterdir():\n column_data['FILE_NAME'].append(file_path.name)\n column_data['FOLDER'].append('Y' if file_path.is_dir() else 'N')\n column_data['FILES_IN'].append(len([f for f in file_path.iterdir()]) if file_path.is_dir() else 0)\n\nTable().set_column_content(column_data).print_table()\n```\n\nThe method `get_column_conten()` returns a `dict` with the same structure even if you didn't initialized the table with `set_column_content(column_dict)`.\n\n#### Loading `Table` data from _json_\n\nThe method `load_data(file_path)` initializes the table from a _json_ file. The _json_ file should\nhave the same structure that `set_column_content(column_dict)`, column name as **key** and column content list as **value**:\n```json\n{\n \"column_name1\": [\"item11\", \"item12\", \"item13\"],\n \"column_name2\": [\"item21\", \"item21\", \"item23\"],\n .\n .\n .\n}\n```\n\n### Modifying column alignment\nBy default first column will be aligned to left and the rest to right. The alignment\nfollows the same encoding as the string `format` function, a character can be passed to set the alignment:\n\n- Right align: `>`\n- Left align: `<`\n- Center align: `^`\n\nColumn alignment can be changed with `alignment` attribute or `set_column_align()` method.\n\nWith `alignment` attribute you can provide a list with the alignment for each column:\n```py\nmy_table.alignment = ['^', '^', '>']\n```\n\nWith `set_column_align(index, align_char)` you can change a specific column alignment (_column index starts form 0)_:\n```py\nmy_table.set_column_align(0, '<')\n```\n\n### Filtering columns to print\nBy default `print_table()` will print all columns in the table, but you can filter what columns should be printed.\n\n`print_table()` have two optional arguments: `show_columns` and `hide_columns`. This arguments expects a list with the indexes of the columns to print or hide respectively. If the two arguments are used `hide_columns` will be ignored.\n```py\n# Shows first and third column\nmy_table.print_table(show_columns=[0, 2])\n\n# Hide third column and shows the rest\nmy_table.print_table(hide_columns=[2])\n```\n\n### Additional Notes\nYou can retrieve data form the table using indices\n\n```py\n# Get first row data\nmy_table[0]\n\n# Get third row, second column\nmy_table[2][1]\n```\n\n---\n## `Table` style\n### Syling the table with `TabStyle`\n\n`TabStyle` class is used to encapsulate style options for the table. Current values are:\n\n- Table borders\n- Row separators\n- Column separators\n\n*Note: default style is **with borders** and **no separators** for rows and columns*\n\nUsing `TabStyle` to configure the style:\n```py\nform tablat import Table, TabStyle\n\n\n# Style object with no borders and row separators\npref_style = TabStyle(borders=False, row_sep=True)\n.\n.\n.\n# Initializing Table with our prefered style\nsome_tab = Table(data, headers, pref_style)\n.\n.\n.\n# Restoring Table default style\nsome_tab.style = TabStyle()\n```\n\n`Table` objects are initialized with a default `TabStyle` that can be modified\n```py\nmy_table = Table()\n\n# Disabling borders\nmy_table.syle.borders = False\n\n# Modifying style properties at once\nmy_table.style.update(col_sep=True, row_sep=True)\n```\n\n### Sample table with style modifications\n\"table\n\"table\n\n\"table\n\"table\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/salpreh/tablat", "keywords": "", "license": "MIT License", "maintainer": "", "maintainer_email": "", "name": "tablat", "package_url": "https://pypi.org/project/tablat/", "platform": "", "project_url": "https://pypi.org/project/tablat/", "project_urls": { "Homepage": "https://github.com/salpreh/tablat" }, "release_url": "https://pypi.org/project/tablat/0.2.0/", "requires_dist": null, "requires_python": "", "summary": "Print basic tables in python", "version": "0.2.0" }, "last_serial": 4964202, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "dde5760309bc18bdc21f2a1dcae634b2", "sha256": "d36a036b42a2c7208ebe70505eb7b41ab6f0042a600871e918e47dcfb591cf34" }, "downloads": -1, "filename": "tablat-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "dde5760309bc18bdc21f2a1dcae634b2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3470, "upload_time": "2019-03-01T11:54:53", "url": "https://files.pythonhosted.org/packages/4e/f3/52e9bede37ae362d1d0ded4c446ee9b5fe62f43e2414c4b3cb1fcc3e8f4c/tablat-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "833416c62ceff30101d851d1009a08ad", "sha256": "8975461070ed5cb65b2d69d3d3b8d39c75b286120861f9eef25e1b4e47185ee6" }, "downloads": -1, "filename": "tablat-0.1.0.tar.gz", "has_sig": false, "md5_digest": "833416c62ceff30101d851d1009a08ad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2299, "upload_time": "2019-03-01T11:54:55", "url": "https://files.pythonhosted.org/packages/33/0a/f189b80f93cd541fc565120b2736ef2d39aec38db7694d279407ddb0374e/tablat-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "4ac405b8aa03526c56066e73db02a556", "sha256": "6d6ee9b17a97fdb53ffbfd2b232f265558368aec89773e24aa93fba809df1feb" }, "downloads": -1, "filename": "tablat-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "4ac405b8aa03526c56066e73db02a556", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4473, "upload_time": "2019-03-03T15:50:39", "url": "https://files.pythonhosted.org/packages/99/de/205f98cdac808ffcff19d8592f5005578ed43509d381732e284969d377a6/tablat-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c7bdfc991c386178ad49f14a36ef8f41", "sha256": "1d58365b88355c1918fb2f7e50755626759764e78a3d8fa7e5997b16002f1267" }, "downloads": -1, "filename": "tablat-0.1.1.tar.gz", "has_sig": false, "md5_digest": "c7bdfc991c386178ad49f14a36ef8f41", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3716, "upload_time": "2019-03-03T15:50:40", "url": "https://files.pythonhosted.org/packages/0a/2b/28338b8959198cf42b832f1aefcf838c84b8be485ff52085321b1fa7bf4f/tablat-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "bf20d77871045f35e5c889392ac01676", "sha256": "4b1da365e2845e3c5d9f40a20a4f49381fa308086dd929d08c983aa4924b8203" }, "downloads": -1, "filename": "tablat-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "bf20d77871045f35e5c889392ac01676", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4021, "upload_time": "2019-03-03T16:19:05", "url": "https://files.pythonhosted.org/packages/a2/74/1df56ab078399d708bde31de89b00bc1ad755b496890a9ba9daad57ef6dd/tablat-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ffbc0f46419a9ce24177b284ae3f59ea", "sha256": "f5c8e7c841bac636c7488f1cf093bd3c55acf3b35ed8cba7e274965175d39a09" }, "downloads": -1, "filename": "tablat-0.1.2.tar.gz", "has_sig": false, "md5_digest": "ffbc0f46419a9ce24177b284ae3f59ea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3669, "upload_time": "2019-03-03T16:19:06", "url": "https://files.pythonhosted.org/packages/fa/ef/90231ad15d0ea1c4dc03a1e1fe20568fe3f7a227d15766d21f1848c1fbd2/tablat-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "35f1fcd3d8a6daa3f77cfb4524c1feb2", "sha256": "3e41f88e1221ef42088f85e9f9df8b27c7f019503a49263f8720a571f02fce6b" }, "downloads": -1, "filename": "tablat-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "35f1fcd3d8a6daa3f77cfb4524c1feb2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5912, "upload_time": "2019-03-06T19:28:46", "url": "https://files.pythonhosted.org/packages/5d/c6/ef784cd3e05896166730de1b7f6af2f00d9d63570ac6805f91a6f2f25822/tablat-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "edef11cd40eb9d674b71d66ae2b82116", "sha256": "6cf9a0582c4ba287b9a28c739a500a650cbd98756e470f247efb69afba171915" }, "downloads": -1, "filename": "tablat-0.1.3.tar.gz", "has_sig": false, "md5_digest": "edef11cd40eb9d674b71d66ae2b82116", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5543, "upload_time": "2019-03-06T19:28:47", "url": "https://files.pythonhosted.org/packages/4c/ad/3aba3560baceee2fcf7bc7a3898c410f3c6f0041dd960591beb2e8d255ed/tablat-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "c46dbae89401c22048be3d6081793fb3", "sha256": "516fc7d68b5311c1b68c3082a93a04361743e434a3cb04ec995fa233d6832e09" }, "downloads": -1, "filename": "tablat-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "c46dbae89401c22048be3d6081793fb3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7665, "upload_time": "2019-03-19T15:26:49", "url": "https://files.pythonhosted.org/packages/a1/27/fdc6f8033bb7057cd573aa5bb7c2a7d59ecc9046b2bab50d138090481fe3/tablat-0.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "64845ecbb7782e085a0803166ef0b3aa", "sha256": "692ed0e328c494439f701d91278ba189fc5df69d394952bd0d6786e9d1872147" }, "downloads": -1, "filename": "tablat-0.1.4.tar.gz", "has_sig": false, "md5_digest": "64845ecbb7782e085a0803166ef0b3aa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7879, "upload_time": "2019-03-19T15:26:50", "url": "https://files.pythonhosted.org/packages/8b/ed/aa879c366289f7e1e0ced94bd655c0637b5eef0d3e551f0e8cb35ce2b643/tablat-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "fcf60015dae969c48c93238132906d48", "sha256": "0182dcbd061fbf2a864bac6bbd5b434de044dc2283d70105bda202e74e7cf8bf" }, "downloads": -1, "filename": "tablat-0.1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "fcf60015dae969c48c93238132906d48", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7664, "upload_time": "2019-03-19T23:02:02", "url": "https://files.pythonhosted.org/packages/00/3b/eddd43fb8e9c171638050cbe91cb946293764a357ad64718f526e0d5dcd6/tablat-0.1.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b066eadf2ca2776796f982a9360d108a", "sha256": "309cb62e6ad5b549d7e3fe81a4e00c4e6c1045f7419e0e84e065ae0cc5ac6be2" }, "downloads": -1, "filename": "tablat-0.1.5.tar.gz", "has_sig": false, "md5_digest": "b066eadf2ca2776796f982a9360d108a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8426, "upload_time": "2019-03-19T23:02:03", "url": "https://files.pythonhosted.org/packages/7b/59/a1edda0c8e6b50d5b8f23a6fd54e2b16e31436443d4d2cfe1d2665d30b01/tablat-0.1.5.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "6dbb3bdff3a35f135f7097abb12247de", "sha256": "44d5d1803dfd5c06457ecff0e263e33132faff8d78dd67217984a8ff5ec6becf" }, "downloads": -1, "filename": "tablat-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "6dbb3bdff3a35f135f7097abb12247de", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8772, "upload_time": "2019-03-20T15:01:16", "url": "https://files.pythonhosted.org/packages/a7/e1/5633e9276f4f1f9323e73fa39feefe2d05e49e40922038acb69b4f6df29b/tablat-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5842048d6fa822a2228114e11a2fb532", "sha256": "570afe0d2775181f37a496ba7bebd93cde5c9d2626a2ffeb56ca29d7ac5b0eeb" }, "downloads": -1, "filename": "tablat-0.2.0.tar.gz", "has_sig": false, "md5_digest": "5842048d6fa822a2228114e11a2fb532", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9951, "upload_time": "2019-03-20T15:01:17", "url": "https://files.pythonhosted.org/packages/f1/c4/06db3e7bb573e2ebac025be0212bde0b93ea5d40f65a0ec408625698e11b/tablat-0.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "6dbb3bdff3a35f135f7097abb12247de", "sha256": "44d5d1803dfd5c06457ecff0e263e33132faff8d78dd67217984a8ff5ec6becf" }, "downloads": -1, "filename": "tablat-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "6dbb3bdff3a35f135f7097abb12247de", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8772, "upload_time": "2019-03-20T15:01:16", "url": "https://files.pythonhosted.org/packages/a7/e1/5633e9276f4f1f9323e73fa39feefe2d05e49e40922038acb69b4f6df29b/tablat-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5842048d6fa822a2228114e11a2fb532", "sha256": "570afe0d2775181f37a496ba7bebd93cde5c9d2626a2ffeb56ca29d7ac5b0eeb" }, "downloads": -1, "filename": "tablat-0.2.0.tar.gz", "has_sig": false, "md5_digest": "5842048d6fa822a2228114e11a2fb532", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9951, "upload_time": "2019-03-20T15:01:17", "url": "https://files.pythonhosted.org/packages/f1/c4/06db3e7bb573e2ebac025be0212bde0b93ea5d40f65a0ec408625698e11b/tablat-0.2.0.tar.gz" } ] }