{ "info": { "author": "cig01", "author_email": "juhani@163.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Text Processing", "Topic :: Utilities" ], "description": "====\nYATG\n====\n\nYATG (Yet Another Table Generator) is a utility for generating ASCII art table.\n\n.. image:: https://travis-ci.org/10gic/yatg.svg?branch=master\n :target: https://travis-ci.org/10gic/yatg\n :alt: Build status\n\nIntroduction\n============\n\nThis tool can convert csv or html to ASCII art table.\n\nExample of output (emacs style)::\n\n +---------+-----------------+----------+\n | | Average | Red eyes |\n | +--------+--------+ |\n | | height | weight | |\n +---------+--------+--------+----------+\n | Males | 1.9 | 0.003 | 40% |\n +---------+--------+--------+----------+\n | Females | 1.7 | 0.002 | 43% |\n +---------+--------+--------+----------+\n\nExample of output (orgmode style)::\n\n | Header content 1 | Header content 2 |\n |------------------+------------------|\n | Body content 1 | Body content 2 |\n | Body content 3 | Body content 4 |\n | Body content 5 | Body content 6 |\n\nExample of output (mysql style)::\n\n +------------------+------------------+\n | Header content 1 | Header content 2 |\n +------------------+------------------+\n | Body content 1 | Body content 2 |\n | Body content 3 | Body content 4 |\n | Body content 5 | Body content 6 |\n +------------------+------------------+\n\nExample of output (markdown style)::\n\n | Header content 1 | Header content 2 |\n |------------------|------------------|\n | Body content 1 | Body content 2 |\n | Body content 3 | Body content 4 |\n | Body content 5 | Body content 6 |\n\nInstallation\n============\n\nTo install YATG from PyPI::\n\n $ pip install yatg\n\nOr from github::\n\n $ curl -O https://raw.githubusercontent.com/10gic/yatg/master/yatg/yatg.py && chmod u+x yatg.py\n\nUsage\n=====\n\nAs command-line tool\n--------------------\nOptions::\n\n usage: yatg [-h] [-i INFILE] [-f FORMAT] [-d DELIMITER] [-o OUTFILE]\n [-s STYLE] [--no-header] [--column-align ALIGN]\n [--width1-chars CHARS] [--align-in-tty]\n\n Yet Another Table Generator, convert CSV or html table to ASCII art table.\n\n optional arguments:\n -h, --help show this help message and exit\n -i INFILE, --input-file INFILE\n source file, read from stdin if not specified\n -f FORMAT, --input-format FORMAT\n format of input file, can be 'html' or 'csv', auto\n guess it if not specified\n -d DELIMITER, --csv-delimiter DELIMITER\n delimiter of csv data, guess it if not specified\n -o OUTFILE, --output-file OUTFILE\n output file, write to stdout if not specified\n -s STYLE, --output-style STYLE\n specify output table style, support 'orgmode',\n 'emacs', 'mysql', 'markdown', default is orgmode style\n --no-header horizontal header line would not be printed if this\n option present\n --column-align ALIGN specify align string of columns, support 'l/r'. For\n example, 'llrr' specify first two colums align left,\n 3rd and 4th columns align right. Default alignment is\n left.\n --width1-chars CHARS specify chars that should consider one character width\n by force, only 'emoji' is supported currently. This\n option requires package emoji.\n --align-in-tty set column aligned in tty. This option requires\n package blessed. If this option present, option\n --width1-chars would be ignored. NOTE: (1) this option\n requires you in a tty, (2) each column width must less\n than width of tty, please enlarge your tty window if\n you have long cell data.\n\nAs a library\n------------\nExample::\n\n >>> import yatg\n >>> print(yatg.csv_2_ascii_table([[\"head1\", \"head2\"],\n ... [\"content1\", \"content2\"],\n ... [\"content3\", \"content4\"]]))\n | head1 | head2 |\n |----------+----------|\n | content1 | content2 |\n | content3 | content4 |\n\n >>> print(yatg.html_2_ascii_table(\"\"\"\n ... \n ... \n ... \n ... \n ... \n ... \n ... \n ... \n ... \n ... \n ... \n ... \n ... \n ... \n ... \n ...
1st rowcolspan2rowspan2
2nd rowunder colspan2under colspan2
3rd rowcolspan3
\"\"\", output_style='emacs'))\n +---------+---------------------------------+----------+\n | 1st row | colspan2 | rowspan2 |\n +---------+----------------+----------------+ |\n | 2nd row | under colspan2 | under colspan2 | |\n +---------+----------------+----------------+----------+\n | 3rd row | colspan3 |\n +---------+--------------------------------------------+\n\nFunction doc::\n\n >>> print(yatg.csv_2_ascii_table.__doc__)\n Convert csv to ascii table.\n\n Arguments:\n csv_content: Data of input csv, can be string or 'list of list'.\n csv_delimiter: The delimiter of csv string data (default is ',').\n output_style: The output style: emacs|orgmode|mysql|markdown\n (default is 'orgmode').\n column_align: align string of columns, support 'l/r'. For example,\n 'llrr' specify first two colums align left, 3rd and 4th\n columns align right. Default alignment is left.\n no_header: whether print horizontal header line. Default is False\n align_in_tty: force align column in tty\n\n Returns:\n Ascii table\n\n >>> print(yatg.html_2_ascii_table.__doc__)\n Convert html table to ascii table.\n\n Arguments:\n html_content: Data of input html.\n output_style: The output style: emacs|orgmode|mysql|markdown\n (default is 'orgmode').\n column_align: align string of columns, support 'l/r'. For example,\n 'llrr' specify first two colums align left, 3rd and 4th\n columns align right. Default alignment is left.\n no_header: whether print horizontal header line. Default is False\n align_in_tty: force align column in tty\n\n Returns:\n Ascii table\n\nFeature\n=======\n\n- Support colspan and rowspan.\n- Support multi output styles: emacs/orgmode(default)/mysql/markdown style.\n- Table is keep aligned when cell contains both ASCII and non-ASCII charaters.\n- Support custom column alignment.\n- Header line is optional.\n- Compatible with Python 2 and Python 3.\n- No 3rd-part dependency for major functions.\n\nLimitation\n==========\n\n- Multi-line text in one table cell would flatten to one line.\n- Nested tables are not supported.\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/10gic/yatg", "keywords": "", "license": "AGPLv3+", "maintainer": "", "maintainer_email": "", "name": "yatg", "package_url": "https://pypi.org/project/yatg/", "platform": "any", "project_url": "https://pypi.org/project/yatg/", "project_urls": { "Homepage": "https://github.com/10gic/yatg" }, "release_url": "https://pypi.org/project/yatg/0.11.2/", "requires_dist": [ "blessed; extra == 'alignintty'", "emoji; extra == 'forcewidth1'" ], "requires_python": "", "summary": "A utility for generating ASCII art table", "version": "0.11.2" }, "last_serial": 3758406, "releases": { "0.10.0": [ { "comment_text": "", "digests": { "md5": "3e1dd50ed1b17c91c356ae31dc790267", "sha256": "9ad69311229f6aacd1f7b6d89acf4fe3d9974bbf8dfae9223a9e7394414a7b57" }, "downloads": -1, "filename": "yatg-0.10.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3e1dd50ed1b17c91c356ae31dc790267", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14116, "upload_time": "2018-04-07T16:12:45", "url": "https://files.pythonhosted.org/packages/34/a1/026ff29720a4d938a53ce496ddb31c757a1a088bdf337581b41b99f287f9/yatg-0.10.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5a8ea30bde0e52ca17b26a73c23bfac6", "sha256": "93da38127733ecb5a220ebcc3a29483668813c0a3d5e71dccab0f18172e74c46" }, "downloads": -1, "filename": "yatg-0.10.0.tar.gz", "has_sig": false, "md5_digest": "5a8ea30bde0e52ca17b26a73c23bfac6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12647, "upload_time": "2018-04-07T16:12:47", "url": "https://files.pythonhosted.org/packages/50/62/a4be4dabafdcd6b9f71dbe1c6e9b5896a6c0d9ba3389a128933b1e27ba80/yatg-0.10.0.tar.gz" } ], "0.11.1": [ { "comment_text": "", "digests": { "md5": "d521f7ef8bb654731ba32d7708f770e3", "sha256": "1312b2b26153565e149791aeabea026c13cae64da81b82faf59319d5dad40600" }, "downloads": -1, "filename": "yatg-0.11.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d521f7ef8bb654731ba32d7708f770e3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 16101, "upload_time": "2018-04-10T10:30:15", "url": "https://files.pythonhosted.org/packages/e6/c0/bdedc28a5cd16df25bed3c3ab3bcc2bf115109e4035b5439cef175a3c815/yatg-0.11.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "538a83b42aa47558b07b69441e8ea67c", "sha256": "76633733120fb09aa50c6671615d315e564423241e97bfd87297751bb674aade" }, "downloads": -1, "filename": "yatg-0.11.1.tar.gz", "has_sig": false, "md5_digest": "538a83b42aa47558b07b69441e8ea67c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14654, "upload_time": "2018-04-10T10:30:16", "url": "https://files.pythonhosted.org/packages/6e/f8/fe05560684bf41f3d1ab06671291a43e58aafe2b591e70a65796e15b81ad/yatg-0.11.1.tar.gz" } ], "0.11.2": [ { "comment_text": "", "digests": { "md5": "df2667aa01f6d0db01b77b85f7d6569b", "sha256": "b5847b7d424f97ee8deb444034aa501ac53c307a4ace86baec10f9e7952d4906" }, "downloads": -1, "filename": "yatg-0.11.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "df2667aa01f6d0db01b77b85f7d6569b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 16258, "upload_time": "2018-04-12T11:46:28", "url": "https://files.pythonhosted.org/packages/58/48/34f52c228a8a591a108a95bee1e54c7fd670d3cb981307b87774e799ddda/yatg-0.11.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4ed6c1e15f8e1c8df5d994e7b1f9b6dc", "sha256": "d5b3b8a0c4162305e3ee30757e5c45393904b925a0b82fa5a766c4e38da3b984" }, "downloads": -1, "filename": "yatg-0.11.2.tar.gz", "has_sig": false, "md5_digest": "4ed6c1e15f8e1c8df5d994e7b1f9b6dc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14788, "upload_time": "2018-04-12T11:46:29", "url": "https://files.pythonhosted.org/packages/6b/4e/360f51c554f6680e1d14927344c7b0e9434425cc95f9f8ce04bd997262da/yatg-0.11.2.tar.gz" } ], "0.9.1": [ { "comment_text": "", "digests": { "md5": "3de27a7782c0399ab873e2badbf09359", "sha256": "88e284de307046a8b5f9fa4e1612ad13e8d501d5ce766fe27d5003998e505abf" }, "downloads": -1, "filename": "yatg-0.9.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3de27a7782c0399ab873e2badbf09359", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12290, "upload_time": "2018-04-05T17:09:38", "url": "https://files.pythonhosted.org/packages/ea/76/05f19101f1e74b5bbba640f16ee5422f64377238ac975172ed9b9c2078f9/yatg-0.9.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d3d9c8d4a497d773382977e46c9083ed", "sha256": "79d6785294a48ec374b0872fc35c5e8f9c4f164b823c5618b8d62f8c7329e15d" }, "downloads": -1, "filename": "yatg-0.9.1.tar.gz", "has_sig": false, "md5_digest": "d3d9c8d4a497d773382977e46c9083ed", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10896, "upload_time": "2018-04-05T17:09:39", "url": "https://files.pythonhosted.org/packages/a3/37/4c10931c88271eb56bc48de741161180ee50ff1ecb103f6b330675fe1a4c/yatg-0.9.1.tar.gz" } ], "0.9.2": [ { "comment_text": "", "digests": { "md5": "e1f63832015e5f16843e2d236a706bce", "sha256": "dcc2944f44a058c760a4bf89c8ebb42e73d4d11fa3f4ae6f7dc95a602ac6f275" }, "downloads": -1, "filename": "yatg-0.9.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e1f63832015e5f16843e2d236a706bce", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12386, "upload_time": "2018-04-05T17:38:33", "url": "https://files.pythonhosted.org/packages/c5/b4/2d67b91866f85c42ee6fec37b93da036fddd58fdc400762fd4bb61fd832c/yatg-0.9.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "90e6d2adf56eaf1c20a278a505123df5", "sha256": "201db98844b5b0a2357484fc525ca58004afe2c30ddac3f3e828abfdac7fda07" }, "downloads": -1, "filename": "yatg-0.9.2.tar.gz", "has_sig": false, "md5_digest": "90e6d2adf56eaf1c20a278a505123df5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10969, "upload_time": "2018-04-05T17:38:35", "url": "https://files.pythonhosted.org/packages/b1/10/b37c04f28c715891b1f65210a82d1e7c7c8f7e19c09f3d443acf664e24a1/yatg-0.9.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "df2667aa01f6d0db01b77b85f7d6569b", "sha256": "b5847b7d424f97ee8deb444034aa501ac53c307a4ace86baec10f9e7952d4906" }, "downloads": -1, "filename": "yatg-0.11.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "df2667aa01f6d0db01b77b85f7d6569b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 16258, "upload_time": "2018-04-12T11:46:28", "url": "https://files.pythonhosted.org/packages/58/48/34f52c228a8a591a108a95bee1e54c7fd670d3cb981307b87774e799ddda/yatg-0.11.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4ed6c1e15f8e1c8df5d994e7b1f9b6dc", "sha256": "d5b3b8a0c4162305e3ee30757e5c45393904b925a0b82fa5a766c4e38da3b984" }, "downloads": -1, "filename": "yatg-0.11.2.tar.gz", "has_sig": false, "md5_digest": "4ed6c1e15f8e1c8df5d994e7b1f9b6dc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14788, "upload_time": "2018-04-12T11:46:29", "url": "https://files.pythonhosted.org/packages/6b/4e/360f51c554f6680e1d14927344c7b0e9434425cc95f9f8ce04bd997262da/yatg-0.11.2.tar.gz" } ] }