{ "info": { "author": "Sergey Astanin", "author_email": "s.astanin@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "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" ], "description": "python-tabulate\n===============\n\nPretty-print tabular data in Python, a library and a command-line\nutility.\n\nThe main use cases of the library are:\n\n- printing small tables without hassle: just one function call,\n formatting is guided by the data itself\n- authoring tabular data for lightweight plain-text markup: multiple\n output formats suitable for further editing or transformation\n- readable presentation of mixed textual and numeric data: smart\n column alignment, configurable number formatting, alignment by a\n decimal point\n\nInstallation\n------------\n\nTo install the Python library and the command line utility, run:\n\n pip install tabulate\n\nThe command line utility will be installed as `tabulate` to `bin` on\nLinux (e.g. `/usr/bin`); or as `tabulate.exe` to `Scripts` in your\nPython installation on Windows (e.g.\n`C:\\Python27\\Scripts\\tabulate.exe`).\n\nYou may consider installing the library only for the current user:\n\n pip install tabulate --user\n\nIn this case the command line utility will be installed to\n`~/.local/bin/tabulate` on Linux and to\n`%APPDATA%\\Python\\Scripts\\tabulate.exe` on Windows.\n\nTo install just the library on Unix-like operating systems:\n\n TABULATE_INSTALL=lib-only pip install tabulate\n\nOn Windows:\n\n set TABULATE_INSTALL=lib-only\n pip install tabulate\n\nThe module provides just one function, `tabulate`, which takes a list of\nlists or another tabular data type as the first argument, and outputs a\nnicely formatted plain-text table:\n\n >>> from tabulate import tabulate\n\n >>> table = [[\"Sun\",696000,1989100000],[\"Earth\",6371,5973.6],\n ... [\"Moon\",1737,73.5],[\"Mars\",3390,641.85]]\n >>> print(tabulate(table))\n ----- ------ -------------\n Sun 696000 1.9891e+09\n Earth 6371 5973.6\n Moon 1737 73.5\n Mars 3390 641.85\n ----- ------ -------------\n\nThe following tabular data types are supported:\n\n- list of lists or another iterable of iterables\n- list or another iterable of dicts (keys as columns)\n- dict of iterables (keys as columns)\n- two-dimensional NumPy array\n- NumPy record arrays (names as columns)\n- pandas.DataFrame\n\nExamples in this file use Python2. Tabulate supports Python3 too.\n\n### Headers\n\nThe second optional argument named `headers` defines a list of column\nheaders to be used:\n\n >>> print(tabulate(table, headers=[\"Planet\",\"R (km)\", \"mass (x 10^29 kg)\"]))\n Planet R (km) mass (x 10^29 kg)\n -------- -------- -------------------\n Sun 696000 1.9891e+09\n Earth 6371 5973.6\n Moon 1737 73.5\n Mars 3390 641.85\n\nIf `headers=\"firstrow\"`, then the first row of data is used:\n\n >>> print(tabulate([[\"Name\",\"Age\"],[\"Alice\",24],[\"Bob\",19]],\n ... headers=\"firstrow\"))\n Name Age\n ------ -----\n Alice 24\n Bob 19\n\nIf `headers=\"keys\"`, then the keys of a dictionary/dataframe, or column\nindices are used. It also works for NumPy record arrays and lists of\ndictionaries or named tuples:\n\n >>> print(tabulate({\"Name\": [\"Alice\", \"Bob\"],\n ... \"Age\": [24, 19]}, headers=\"keys\"))\n Age Name\n ----- ------\n 24 Alice\n 19 Bob\n\n### Row Indices\n\nBy default, only pandas.DataFrame tables have an additional column\ncalled row index. To add a similar column to any other type of table,\npass `showindex=\"always\"` or `showindex=True` argument to `tabulate()`.\nTo suppress row indices for all types of data, pass `showindex=\"never\"`\nor `showindex=False`. To add a custom row index column, pass\n`showindex=rowIDs`, where `rowIDs` is some iterable:\n\n >>> print(tabulate([[\"F\",24],[\"M\",19]], showindex=\"always\"))\n - - --\n 0 F 24\n 1 M 19\n - - --\n\n### Table format\n\nThere is more than one way to format a table in plain text. The third\noptional argument named `tablefmt` defines how the table is formatted.\n\nSupported table formats are:\n\n- \"plain\"\n- \"simple\"\n- \"github\"\n- \"grid\"\n- \"fancy\\_grid\"\n- \"pipe\"\n- \"orgtbl\"\n- \"jira\"\n- \"presto\"\n- \"psql\"\n- \"rst\"\n- \"mediawiki\"\n- \"moinmoin\"\n- \"youtrack\"\n- \"html\"\n- \"latex\"\n- \"latex\\_raw\"\n- \"latex\\_booktabs\"\n- \"textile\"\n\n`plain` tables do not use any pseudo-graphics to draw lines:\n\n >>> table = [[\"spam\",42],[\"eggs\",451],[\"bacon\",0]]\n >>> headers = [\"item\", \"qty\"]\n >>> print(tabulate(table, headers, tablefmt=\"plain\"))\n item qty\n spam 42\n eggs 451\n bacon 0\n\n`simple` is the default format (the default may change in future\nversions). It corresponds to `simple_tables` in [Pandoc Markdown\nextensions](http://johnmacfarlane.net/pandoc/README.html#tables):\n\n >>> print(tabulate(table, headers, tablefmt=\"simple\"))\n item qty\n ------ -----\n spam 42\n eggs 451\n bacon 0\n\n`github` follows the conventions of Github flavored Markdown. It\ncorresponds to the `pipe` format without alignment colons:\n\n >>> print(tabulate(table, headers, tablefmt=\"github\"))\n | item | qty |\n |--------|-------|\n | spam | 42 |\n | eggs | 451 |\n | bacon | 0 |\n\n`grid` is like tables formatted by Emacs'\n[table.el](http://table.sourceforge.net/) package. It corresponds to\n`grid_tables` in Pandoc Markdown extensions:\n\n >>> print(tabulate(table, headers, tablefmt=\"grid\"))\n +--------+-------+\n | item | qty |\n +========+=======+\n | spam | 42 |\n +--------+-------+\n | eggs | 451 |\n +--------+-------+\n | bacon | 0 |\n +--------+-------+\n\n`fancy_grid` draws a grid using box-drawing characters:\n\n >>> print(tabulate(table, headers, tablefmt=\"fancy_grid\"))\n \u2552\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2564\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2555\n \u2502 item \u2502 qty \u2502\n \u255e\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u256a\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2561\n \u2502 spam \u2502 42 \u2502\n \u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\n \u2502 eggs \u2502 451 \u2502\n \u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\n \u2502 bacon \u2502 0 \u2502\n \u2558\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2567\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u255b\n\n`presto` is like tables formatted by Presto cli:\n\n >>> print(tabulate(table, headers, tablefmt=\"presto\"))\n item | qty\n --------+-------\n spam | 42\n eggs | 451\n bacon | 0\n\n`psql` is like tables formatted by Postgres' psql cli:\n\n >>> print(tabulate(table, headers, tablefmt=\"psql\"))\n +--------+-------+\n | item | qty |\n |--------+-------|\n | spam | 42 |\n | eggs | 451 |\n | bacon | 0 |\n +--------+-------+\n\n`pipe` follows the conventions of [PHP Markdown\nExtra](http://michelf.ca/projects/php-markdown/extra/#table) extension.\nIt corresponds to `pipe_tables` in Pandoc. This format uses colons to\nindicate column alignment:\n\n >>> print(tabulate(table, headers, tablefmt=\"pipe\"))\n | item | qty |\n |:-------|------:|\n | spam | 42 |\n | eggs | 451 |\n | bacon | 0 |\n\n`orgtbl` follows the conventions of Emacs\n[org-mode](http://orgmode.org/manual/Tables.html), and is editable also\nin the minor orgtbl-mode. Hence its name:\n\n >>> print(tabulate(table, headers, tablefmt=\"orgtbl\"))\n | item | qty |\n |--------+-------|\n | spam | 42 |\n | eggs | 451 |\n | bacon | 0 |\n\n`jira` follows the conventions of Atlassian Jira markup language:\n\n >>> print(tabulate(table, headers, tablefmt=\"jira\"))\n || item || qty ||\n | spam | 42 |\n | eggs | 451 |\n | bacon | 0 |\n\n`rst` formats data like a simple table of the\n[reStructuredText](http://docutils.sourceforge.net/docs/user/rst/quickref.html#tables)\nformat:\n\n >>> print(tabulate(table, headers, tablefmt=\"rst\"))\n ====== =====\n item qty\n ====== =====\n spam 42\n eggs 451\n bacon 0\n ====== =====\n\n`mediawiki` format produces a table markup used in\n[Wikipedia](http://www.mediawiki.org/wiki/Help:Tables) and on other\nMediaWiki-based sites:\n\n >>> print(tabulate(table, headers, tablefmt=\"mediawiki\"))\n {| class=\"wikitable\" style=\"text-align: left;\"\n |+ \n |-\n ! item !! align=\"right\"| qty\n |-\n | spam || align=\"right\"| 42\n |-\n | eggs || align=\"right\"| 451\n |-\n | bacon || align=\"right\"| 0\n |}\n\n`moinmoin` format produces a table markup used in\n[MoinMoin](https://moinmo.in/) wikis:\n\n >>> print(tabulate(table, headers, tablefmt=\"moinmoin\"))\n || ''' item ''' || ''' quantity ''' ||\n || spam || 41.999 ||\n || eggs || 451 ||\n || bacon || ||\n\n`youtrack` format produces a table markup used in Youtrack tickets:\n\n >>> print(tabulate(table, headers, tablefmt=\"youtrack\"))\n || item || quantity ||\n | spam | 41.999 |\n | eggs | 451 |\n | bacon | |\n\n`textile` format produces a table markup used in\n[Textile](http://redcloth.org/hobix.com/textile/) format:\n\n >>> print(tabulate(table, headers, tablefmt=\"textile\"))\n |_. item |_. qty |\n |<. spam |>. 42 |\n |<. eggs |>. 451 |\n |<. bacon |>. 0 |\n\n`html` produces standard HTML markup:\n\n >>> print(tabulate(table, headers, tablefmt=\"html\"))\n \n \n \n \n \n \n \n
item qty
spam 42
eggs 451
bacon 0
\n\n`latex` format creates a `tabular` environment for LaTeX markup,\nreplacing special characters like `_` or `\\` to their LaTeX\ncorrespondents:\n\n >>> print(tabulate(table, headers, tablefmt=\"latex\"))\n \\begin{tabular}{lr}\n \\hline\n item & qty \\\\\n \\hline\n spam & 42 \\\\\n eggs & 451 \\\\\n bacon & 0 \\\\\n \\hline\n \\end{tabular}\n\n`latex_raw` behaves like `latex` but does not escape LaTeX commands and\nspecial characters.\n\n`latex_booktabs` creates a `tabular` environment for LaTeX markup using\nspacing and style from the `booktabs` package.\n\n### Column alignment\n\n`tabulate` is smart about column alignment. It detects columns which\ncontain only numbers, and aligns them by a decimal point (or flushes\nthem to the right if they appear to be integers). Text columns are\nflushed to the left.\n\nYou can override the default alignment with `numalign` and `stralign`\nnamed arguments. Possible column alignments are: `right`, `center`,\n`left`, `decimal` (only for numbers), and `None` (to disable alignment).\n\nAligning by a decimal point works best when you need to compare numbers\nat a glance:\n\n >>> print(tabulate([[1.2345],[123.45],[12.345],[12345],[1234.5]]))\n ----------\n 1.2345\n 123.45\n 12.345\n 12345\n 1234.5\n ----------\n\nCompare this with a more common right alignment:\n\n >>> print(tabulate([[1.2345],[123.45],[12.345],[12345],[1234.5]], numalign=\"right\"))\n ------\n 1.2345\n 123.45\n 12.345\n 12345\n 1234.5\n ------\n\nFor `tabulate`, anything which can be parsed as a number is a number.\nEven numbers represented as strings are aligned properly. This feature\ncomes in handy when reading a mixed table of text and numbers from a\nfile:\n\n >>> import csv ; from StringIO import StringIO\n >>> table = list(csv.reader(StringIO(\"spam, 42\\neggs, 451\\n\")))\n >>> table\n [['spam', ' 42'], ['eggs', ' 451']]\n >>> print(tabulate(table))\n ---- ----\n spam 42\n eggs 451\n ---- ----\n\n### Custom column alignment\n\n`tabulate` allows a custom column alignment to override the above. The\n`colalign` argument can be a list or a tuple of `stralign` named\narguments. Possible column alignments are: `right`, `center`, `left`,\n`decimal` (only for numbers), and `None` (to disable alignment).\nOmitting an alignment uses the default. For example:\n\n >>> print(tabulate([[\"one\", \"two\"], [\"three\", \"four\"]], colalign=(\"right\",))\n ----- ----\n one two\n three four\n ----- ----\n\n### Number formatting\n\n`tabulate` allows to define custom number formatting applied to all\ncolumns of decimal numbers. Use `floatfmt` named argument:\n\n >>> print(tabulate([[\"pi\",3.141593],[\"e\",2.718282]], floatfmt=\".4f\"))\n -- ------\n pi 3.1416\n e 2.7183\n -- ------\n\n`floatfmt` argument can be a list or a tuple of format strings, one per\ncolumn, in which case every column may have different number formatting:\n\n >>> print(tabulate([[0.12345, 0.12345, 0.12345]], floatfmt=(\".1f\", \".3f\")))\n --- ----- -------\n 0.1 0.123 0.12345\n --- ----- -------\n\n### Text formatting\n\nBy default, `tabulate` removes leading and trailing whitespace from text\ncolumns. To disable whitespace removal, set the global module-level flag\n`PRESERVE_WHITESPACE`:\n\n import tabulate\n tabulate.PRESERVE_WHITESPACE = True\n\n### Wide (fullwidth CJK) symbols\n\nTo properly align tables which contain wide characters (typically\nfullwidth glyphs from Chinese, Japanese or Korean languages), the user\nshould install `wcwidth` library. To install it together with\n`tabulate`:\n\n pip install tabulate[widechars]\n\nWide character support is enabled automatically if `wcwidth` library is\nalready installed. To disable wide characters support without\nuninstalling `wcwidth`, set the global module-level flag\n`WIDE_CHARS_MODE`:\n\n import tabulate\n tabulate.WIDE_CHARS_MODE = False\n\n### Multiline cells\n\nMost table formats support multiline cell text (text containing newline\ncharacters). The newline characters are honored as line break\ncharacters.\n\nMultiline cells are supported for data rows and for header rows.\n\nFurther automatic line breaks are not inserted. Of course, some output\nformats such as latex or html handle automatic formatting of the cell\ncontent on their own, but for those that don't, the newline characters\nin the input cell text are the only means to break a line in cell text.\n\nNote that some output formats (e.g. simple, or plain) do not represent\nrow delimiters, so that the representation of multiline cells in such\nformats may be ambiguous to the reader.\n\nThe following examples of formatted output use the following table with\na multiline cell, and headers with a multiline cell:\n\n >>> table = [[\"eggs\",451],[\"more\\nspam\",42]]\n >>> headers = [\"item\\nname\", \"qty\"]\n\n`plain` tables:\n\n >>> print(tabulate(table, headers, tablefmt=\"plain\"))\n item qty\n name\n eggs 451\n more 42\n spam\n\n`simple` tables:\n\n >>> print(tabulate(table, headers, tablefmt=\"simple\"))\n item qty\n name\n ------ -----\n eggs 451\n more 42\n spam\n\n`github` tables:\n\n >>> print(tabulate(table, headers, tablefmt=\"github\"))\n | item | qty |\n | name | |\n |--------|-------|\n | eggs | 451 |\n | more | 42 |\n | spam | |\n\n`grid` tables:\n\n >>> print(tabulate(table, headers, tablefmt=\"grid\"))\n +--------+-------+\n | item | qty |\n | name | |\n +========+=======+\n | eggs | 451 |\n +--------+-------+\n | more | 42 |\n | spam | |\n +--------+-------+\n\n`fancy_grid` tables:\n\n >>> print(tabulate(table, headers, tablefmt=\"fancy_grid\"))\n \u2552\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2564\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2555\n \u2502 item \u2502 qty \u2502\n \u2502 name \u2502 \u2502\n \u255e\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u256a\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2561\n \u2502 eggs \u2502 451 \u2502\n \u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\n \u2502 more \u2502 42 \u2502\n \u2502 spam \u2502 \u2502\n \u2558\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2567\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u255b\n\n`pipe` tables:\n\n >>> print(tabulate(table, headers, tablefmt=\"pipe\"))\n | item | qty |\n | name | |\n |:-------|------:|\n | eggs | 451 |\n | more | 42 |\n | spam | |\n\n`orgtbl` tables:\n\n >>> print(tabulate(table, headers, tablefmt=\"orgtbl\"))\n | item | qty |\n | name | |\n |--------+-------|\n | eggs | 451 |\n | more | 42 |\n | spam | |\n\n`jira` tables:\n\n >>> print(tabulate(table, headers, tablefmt=\"jira\"))\n | item | qty |\n | name | |\n |:-------|------:|\n | eggs | 451 |\n | more | 42 |\n | spam | |\n\n`presto` tables:\n\n >>> print(tabulate(table, headers, tablefmt=\"presto\"))\n item | qty\n name |\n --------+-------\n eggs | 451\n more | 42\n spam |\n\n`psql` tables:\n\n >>> print(tabulate(table, headers, tablefmt=\"psql\"))\n +--------+-------+\n | item | qty |\n | name | |\n |--------+-------|\n | eggs | 451 |\n | more | 42 |\n | spam | |\n +--------+-------+\n\n`rst` tables:\n\n >>> print(tabulate(table, headers, tablefmt=\"rst\"))\n ====== =====\n item qty\n name\n ====== =====\n eggs 451\n more 42\n spam\n ====== =====\n\nMultiline cells are not well supported for the other table formats.\n\nUsage of the command line utility\n---------------------------------\n\n Usage: tabulate [options] [FILE ...]\n\n FILE a filename of the file with tabular data;\n if \"-\" or missing, read data from stdin.\n\n Options:\n\n -h, --help show this message\n -1, --header use the first row of data as a table header\n -o FILE, --output FILE print table to FILE (default: stdout)\n -s REGEXP, --sep REGEXP use a custom column separator (default: whitespace)\n -F FPFMT, --float FPFMT floating point number format (default: g)\n -f FMT, --format FMT set output table format; supported formats:\n plain, simple, github, grid, fancy_grid, pipe,\n orgtbl, rst, mediawiki, html, latex, latex_raw,\n latex_booktabs, tsv\n (default: simple)\n\nPerformance considerations\n--------------------------\n\nSuch features as decimal point alignment and trying to parse everything\nas a number imply that `tabulate`:\n\n- has to \"guess\" how to print a particular tabular data type\n- needs to keep the entire table in-memory\n- has to \"transpose\" the table twice\n- does much more work than it may appear\n\nIt may not be suitable for serializing really big tables (but who's\ngoing to do that, anyway?) or printing tables in performance sensitive\napplications. `tabulate` is about two orders of magnitude slower than\nsimply joining lists of values with a tab, coma or other separator.\n\nIn the same time `tabulate` is comparable to other table\npretty-printers. Given a 10x10 table (a list of lists) of mixed text and\nnumeric data, `tabulate` appears to be slower than `asciitable`, and\nfaster than `PrettyTable` and `texttable` The following mini-benchmark\nwas run in Python 3.6.8 on Ubuntu 18.04 in WSL:\n\n =========================== ========== ===========\n Table formatter time, \u03bcs rel. time\n =========================== ========== ===========\n csv to StringIO 8.2 1.0\n join with tabs and newlines 10.8 1.3\n asciitable (0.8.0) 205.2 24.9\n tabulate (0.8.5) 421.7 51.2\n PrettyTable (0.7.2) 787.2 95.6\n texttable (1.6.2) 1123.4 136.4\n =========================== ========== ===========\n\n\nVersion history\n---------------\n\nThe full version history can be found at the [changelog](./CHANGELOG).\n\nHow to contribute\n-----------------\n\nContributions should include tests and an explanation for the changes\nthey propose. Documentation (examples, docstrings, README.md) should be\nupdated accordingly.\n\nThis project uses [nose](https://nose.readthedocs.org/) testing\nframework and [tox](https://tox.readthedocs.io/) to automate testing in\ndifferent environments. Add tests to one of the files in the `test/`\nfolder.\n\nTo run tests on all supported Python versions, make sure all Python\ninterpreters, `nose` and `tox` are installed, then run `tox` in the root\nof the project source tree.\n\nOn Linux `tox` expects to find executables like `python2.6`,\n`python2.7`, `python3.4` etc. On Windows it looks for\n`C:\\Python26\\python.exe`, `C:\\Python27\\python.exe` and\n`C:\\Python34\\python.exe` respectively.\n\nTo test only some Python environements, use `-e` option. For example, to\ntest only against Python 2.7 and Python 3.6, run:\n\n tox -e py27,py36\n\nin the root of the project source tree.\n\nTo enable NumPy and Pandas tests, run:\n\n tox -e py27-extra,py36-extra\n\n(this may take a long time the first time, because NumPy and Pandas will\nhave to be installed in the new virtual environments)\n\nSee `tox.ini` file to learn how to use `nosetests` directly to test\nindividual Python versions.\n\nContributors\n------------\n\nSergey Astanin, Pau Tallada Cresp\u00ed, Erwin Marsi, Mik Kocikowski, Bill\nRyder, Zach Dwiel, Frederik Rietdijk, Philipp Bogensberger, Greg\n(anonymous), Stefan Tatschner, Emiel van Miltenburg, Brandon Bennett,\nAmjith Ramanujam, Jan Schulz, Simon Percivall, Javier Santacruz\nL\u00f3pez-Cepero, Sam Denton, Alexey Ziyangirov, acaird, Cesar Sanchez,\nnaught101, John Vandenberg, Zack Dever, Christian Clauss, Benjamin\nMaier, Andy MacKinlay, Thomas Roten, Jue Wang, Joe King, Samuel Phan,\nNick Satterly, Daniel Robbins, Dmitry B, Lars Butler, Andreas Maier,\nDick Marinus, S\u00e9bastien Celles, Yago Gonz\u00e1lez, Andrew Gaul, Wim Glenn,\nJean Michel Rouly, Tim Gates, John Vandenberg.", "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/astanin/python-tabulate", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "tabulate", "package_url": "https://pypi.org/project/tabulate/", "platform": "", "project_url": "https://pypi.org/project/tabulate/", "project_urls": { "Homepage": "https://github.com/astanin/python-tabulate" }, "release_url": "https://pypi.org/project/tabulate/0.8.5/", "requires_dist": null, "requires_python": "", "summary": "Pretty-print tabular data", "version": "0.8.5" }, "last_serial": 5885997, "releases": { "0.3": [ { "comment_text": "", "digests": { "md5": "fbd67d9f6203207bd9809d2577627da1", "sha256": "3317fa30a8938d609d3c1f376237528db0f6c65e881bd5882d332638943d5f7f" }, "downloads": -1, "filename": "tabulate-0.3.tar.gz", "has_sig": false, "md5_digest": "fbd67d9f6203207bd9809d2577627da1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7670, "upload_time": "2013-03-08T18:06:40", "url": "https://files.pythonhosted.org/packages/82/62/11ca29a5d2392c2d733a5d09cabcf1a1d67b7734e2959751866d7f02728d/tabulate-0.3.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "f02061310add6631391aa2b2bf1f5ff2", "sha256": "cb59f2ef4482176ca8e1a76bc6b388810f1bf637062809db01f639d1e3267bfd" }, "downloads": -1, "filename": "tabulate-0.4.2.tar.gz", "has_sig": false, "md5_digest": "f02061310add6631391aa2b2bf1f5ff2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9077, "upload_time": "2013-03-11T17:11:46", "url": "https://files.pythonhosted.org/packages/ec/42/5e15f0243e1e35b0621b905cf8e0e914c82034656c9d1021ffae51749e88/tabulate-0.4.2.tar.gz" } ], "0.4.3": [ { "comment_text": "", "digests": { "md5": "89454ab170f8c4675974cd5a5f50ac34", "sha256": "90d8df044db66352f4c0447bd9ccd04782281b924f09d46780db02b84e6ce488" }, "downloads": -1, "filename": "tabulate-0.4.3.tar.gz", "has_sig": false, "md5_digest": "89454ab170f8c4675974cd5a5f50ac34", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9327, "upload_time": "2013-03-29T22:12:00", "url": "https://files.pythonhosted.org/packages/be/e0/c45721a08ef2f555b93ef3d633dcbdfa747808a6bddf23af7f8522584625/tabulate-0.4.3.tar.gz" } ], "0.4.4": [ { "comment_text": "", "digests": { "md5": "cdb9feee571e44d1900997054875bd0f", "sha256": "0ce0c874b6ec5c2f7022ff625446f057b662204e6968886af5cb502754ccd22c" }, "downloads": -1, "filename": "tabulate-0.4.4.tar.gz", "has_sig": false, "md5_digest": "cdb9feee571e44d1900997054875bd0f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9387, "upload_time": "2013-05-23T15:24:16", "url": "https://files.pythonhosted.org/packages/70/ec/29c47306d8219eba3eef97eb23b1ef460e6e4c0a002a70a4f5ce948f2ccf/tabulate-0.4.4.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "88631b556462b7470561b5ab419ae3e6", "sha256": "bb44d74a85ec388aec3628e0ed1c4c00fc98b6a2534756f70b313e8b7f2d3895" }, "downloads": -1, "filename": "tabulate-0.5.tar.gz", "has_sig": false, "md5_digest": "88631b556462b7470561b5ab419ae3e6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13326, "upload_time": "2013-08-08T15:19:46", "url": "https://files.pythonhosted.org/packages/b1/1e/bedb22cea065425ddbeeed9b7fb633e6a49442a289bc928f97ff4be67dc9/tabulate-0.5.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "5f7360af3d3a660a9fce7a17726e73c2", "sha256": "6a95a34d60f60a5b05c59fdde616282a54274cb6f8674694c49994c896dd085f" }, "downloads": -1, "filename": "tabulate-0.5.1.tar.gz", "has_sig": false, "md5_digest": "5f7360af3d3a660a9fce7a17726e73c2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13622, "upload_time": "2013-08-08T16:59:52", "url": "https://files.pythonhosted.org/packages/76/08/6e5af163fb1a7faf5930ab0850ad2a4e60d3003f0729e371c4bbc190e475/tabulate-0.5.1.tar.gz" } ], "0.6": [ { "comment_text": "", "digests": { "md5": "8e1d0363fc85b150ec9e2755de6a4700", "sha256": "27bc688608cff8c3770f24f4a58e75c6a04ad152d6986f6e2cd133a2c5e15719" }, "downloads": -1, "filename": "tabulate-0.6.tar.gz", "has_sig": false, "md5_digest": "8e1d0363fc85b150ec9e2755de6a4700", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14338, "upload_time": "2013-08-09T19:46:05", "url": "https://files.pythonhosted.org/packages/84/55/e9e220893b1c2275cd0faafea2709fb5d42bf9fed9d17153d4341559c639/tabulate-0.6.tar.gz" } ], "0.7": [ { "comment_text": "", "digests": { "md5": "7a0f5c4029219053dbd6bd3b77fa760f", "sha256": "fa3282db4ee10adaf1f9fd62760e77b30e9811234ceae2cb59c1170c3e4c14d0" }, "downloads": -1, "filename": "tabulate-0.7.tar.gz", "has_sig": false, "md5_digest": "7a0f5c4029219053dbd6bd3b77fa760f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19358, "upload_time": "2013-11-19T14:43:49", "url": "https://files.pythonhosted.org/packages/2f/f0/edc9795391fbd86c9eedb6563b93415df7c70c5da0fa9fd5eab83998047c/tabulate-0.7.tar.gz" } ], "0.7.1": [ { "comment_text": "", "digests": { "md5": "db48cdb3b42680da5e058886aeafcc88", "sha256": "e884431ff7d991781c2513ebf5e8ab635aec499af52b8231c9ccc83a9663ea6a" }, "downloads": -1, "filename": "tabulate-0.7.1.tar.gz", "has_sig": false, "md5_digest": "db48cdb3b42680da5e058886aeafcc88", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19814, "upload_time": "2013-12-11T23:45:46", "url": "https://files.pythonhosted.org/packages/2c/57/c4f4c24663bc61cb0c9229340d63df36376c41bc76e0a5c3d05af15c43f4/tabulate-0.7.1.tar.gz" } ], "0.7.2": [ { "comment_text": "", "digests": { "md5": "77223d7dc7a650fae3c847e227b02558", "sha256": "532ccab8d9e4659a5f016d84814df86cc04763785e9de2739e890d956dc82d8f" }, "downloads": -1, "filename": "tabulate-0.7.2.tar.gz", "has_sig": false, "md5_digest": "77223d7dc7a650fae3c847e227b02558", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19792, "upload_time": "2014-02-03T13:14:42", "url": "https://files.pythonhosted.org/packages/2f/7d/f138a03594eeaf9aaef8c3d7923f70cfd1f4dfc774bedd46cbcc7ddf71c4/tabulate-0.7.2.tar.gz" } ], "0.7.3": [ { "comment_text": "", "digests": { "md5": "d6664ca3e27e17a55ef5dec8177cb24d", "sha256": "8a59a61ed6ddfdb009f15917e0f006cc5842f9daa72c519593b7a095e645532a" }, "downloads": -1, "filename": "tabulate-0.7.3.tar.gz", "has_sig": false, "md5_digest": "d6664ca3e27e17a55ef5dec8177cb24d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22315, "upload_time": "2014-09-15T15:01:02", "url": "https://files.pythonhosted.org/packages/3b/6d/c3e2ba309bfadde4037793b7f48df0d95f52c874b34d2c2b89bf9a966ec3/tabulate-0.7.3.tar.gz" } ], "0.7.4": [ { "comment_text": "", "digests": { "md5": "40ff347cc52c0bf87488ccddc86bc6cc", "sha256": "6bcd5e47372cca82088f87dfe2f365f79965b2be7837e3bac5a75adf4e0b0ba8" }, "downloads": -1, "filename": "tabulate-0.7.4.tar.gz", "has_sig": false, "md5_digest": "40ff347cc52c0bf87488ccddc86bc6cc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29394, "upload_time": "2015-02-16T20:36:49", "url": "https://files.pythonhosted.org/packages/27/83/87255629a12019744b7c0719e409b28fdbba70386e07a57824de2764ff95/tabulate-0.7.4.tar.gz" } ], "0.7.5": [ { "comment_text": "", "digests": { "md5": "576e1f063b8e74dbfeda02d978564987", "sha256": "9071aacbd97a9a915096c1aaf0dc684ac2672904cd876db5904085d6dac9810e" }, "downloads": -1, "filename": "tabulate-0.7.5.tar.gz", "has_sig": false, "md5_digest": "576e1f063b8e74dbfeda02d978564987", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29844, "upload_time": "2015-03-31T22:56:47", "url": "https://files.pythonhosted.org/packages/db/40/6ffc855c365769c454591ac30a25e9ea0b3e8c952a1259141f5b9878bd3d/tabulate-0.7.5.tar.gz" } ], "0.7.6": [ { "comment_text": "", "digests": { "md5": "2379c6dc2e47621cdd63f805af331a08", "sha256": "a5e1ccced2486fba2f7ed891810372d2bca0b8aa0d6e67fd8343c923b3a59081" }, "downloads": -1, "filename": "tabulate-0.7.6b-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2379c6dc2e47621cdd63f805af331a08", "packagetype": "bdist_wheel", "python_version": "any", "requires_python": null, "size": 28678, "upload_time": "2016-11-07T15:47:34", "url": "https://files.pythonhosted.org/packages/ef/47/af45e82d638582e87ba232136d2326d55c5afbc340f4fb2b4f8ab8dc4777/tabulate-0.7.6b-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2dbe96fc34a6f7b1e5280be5811719ac", "sha256": "758b6dea17d8d49f4ca905edde67d793ee9c2dc6a6b1dfdcf96afcd0cce37dc7" }, "downloads": -1, "filename": "tabulate-0.7.6b.tar.gz", "has_sig": false, "md5_digest": "2dbe96fc34a6f7b1e5280be5811719ac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34423, "upload_time": "2016-11-07T15:45:08", "url": "https://files.pythonhosted.org/packages/44/57/d222e9533c807a0a0c3f44cfa5fbbbbef4d790ea3034d20a1489db7c9600/tabulate-0.7.6b.tar.gz" }, { "comment_text": "", "digests": { "md5": "1d2b3c956a3c76483c252bf6076aec66", "sha256": "986f55f27a736500827ddf6e83722ea3ac5be0c5818330c7951bfc46368307fe" }, "downloads": -1, "filename": "tabulate-0.7.6c.tar.gz", "has_sig": false, "md5_digest": "1d2b3c956a3c76483c252bf6076aec66", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39138, "upload_time": "2016-11-07T15:57:26", "url": "https://files.pythonhosted.org/packages/3c/c5/21d369772844af67e3c70990eba3c97d692ef87cf4fcc11162a84bf496a4/tabulate-0.7.6c.tar.gz" } ], "0.7.7": [ { "comment_text": "", "digests": { "md5": "888bfc7a734dae2d2069c2f05f28f9f1", "sha256": "1f07f6252b20cdc4ed744b598b5fa8362638988b50a62f3e2ad76c97fc02eef2" }, "downloads": -1, "filename": "tabulate-0.7.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "888bfc7a734dae2d2069c2f05f28f9f1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 31714, "upload_time": "2016-11-07T16:03:54", "url": "https://files.pythonhosted.org/packages/a5/8d/86bf900d62216e2be7806d2ff4615cb7da54e13aeb7765549310c355cbae/tabulate-0.7.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "39a21aaa9c10be0749c545be34552559", "sha256": "83a0b8e17c09f012090a50e1e97ae897300a72b35e0c86c0b53d3bd2ae86d8c6" }, "downloads": -1, "filename": "tabulate-0.7.7.tar.gz", "has_sig": false, "md5_digest": "39a21aaa9c10be0749c545be34552559", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39140, "upload_time": "2016-11-07T16:03:57", "url": "https://files.pythonhosted.org/packages/1c/a1/3367581782ce79b727954f7aa5d29e6a439dc2490a9ac0e7ea0a7115435d/tabulate-0.7.7.tar.gz" } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "cc0e5ecf52a9b870b64167aa3890da3e", "sha256": "682d903555bcf24b881835c0bcbec1841d156aacacd29cf050d8ce9c522ac343" }, "downloads": -1, "filename": "tabulate-0.8.0.tar.gz", "has_sig": false, "md5_digest": "cc0e5ecf52a9b870b64167aa3890da3e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36504, "upload_time": "2017-10-01T11:57:12", "url": "https://files.pythonhosted.org/packages/a7/81/8543858a091ec350f78431ba2865a4f36f5291fefa865930c044ebea6875/tabulate-0.8.0.tar.gz" } ], "0.8.1": [ { "comment_text": "", "digests": { "md5": "5fcba6f8338f0b2ac0c8e6777f7482bf", "sha256": "b9b4d2fc712c1e3b8f2970edf6d83fd8a329d0148de78bbe2755a79a96c190fa" }, "downloads": -1, "filename": "tabulate-0.8.1.tar.gz", "has_sig": false, "md5_digest": "5fcba6f8338f0b2ac0c8e6777f7482bf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45666, "upload_time": "2017-10-02T17:07:53", "url": "https://files.pythonhosted.org/packages/b6/88/0bd3eff61b663bd25ae824d60de5fdc441a872f1c8988bb5a057a7432a44/tabulate-0.8.1.tar.gz" } ], "0.8.2": [ { "comment_text": "", "digests": { "md5": "9bbaa53754356d837343740fdc70c074", "sha256": "e4ca13f26d0a6be2a2915428dc21e732f1e44dad7f76d7030b2ef1ec251cf7f2" }, "downloads": -1, "filename": "tabulate-0.8.2.tar.gz", "has_sig": false, "md5_digest": "9bbaa53754356d837343740fdc70c074", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45758, "upload_time": "2017-11-26T12:18:19", "url": "https://files.pythonhosted.org/packages/12/c2/11d6845db5edf1295bc08b2f488cf5937806586afe42936c3f34c097ebdc/tabulate-0.8.2.tar.gz" } ], "0.8.3": [ { "comment_text": "", "digests": { "md5": "3170f72eb9da8ab345cf442de32015bf", "sha256": "8af07a39377cee1103a5c8b3330a421c2d99b9141e9cc5ddd2e3263fea416943" }, "downloads": -1, "filename": "tabulate-0.8.3.tar.gz", "has_sig": false, "md5_digest": "3170f72eb9da8ab345cf442de32015bf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 46234, "upload_time": "2019-01-24T23:25:37", "url": "https://files.pythonhosted.org/packages/c2/fd/202954b3f0eb896c53b7b6f07390851b1fd2ca84aa95880d7ae4f434c4ac/tabulate-0.8.3.tar.gz" } ], "0.8.4": [ { "comment_text": "", "digests": { "md5": "b2025ddcf902d3d1a9ab8f6ea78eedd9", "sha256": "dde537a1c44e6d9d635b2489923513bef89fadb181819998cccdf2a99e652464" }, "downloads": -1, "filename": "tabulate-0.8.4.tar.gz", "has_sig": false, "md5_digest": "b2025ddcf902d3d1a9ab8f6ea78eedd9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45006, "upload_time": "2019-09-24T23:27:38", "url": "https://files.pythonhosted.org/packages/76/35/ae65ed1268d6e2a1be141723e5fffdf4a28e4f4e7c1e083709b308998f90/tabulate-0.8.4.tar.gz" } ], "0.8.5": [ { "comment_text": "", "digests": { "md5": "84f4e50d3f30cc4acd95fc70566784d8", "sha256": "d0097023658d4dea848d6ae73af84532d1e86617ac0925d1adf1dd903985dac3" }, "downloads": -1, "filename": "tabulate-0.8.5.tar.gz", "has_sig": false, "md5_digest": "84f4e50d3f30cc4acd95fc70566784d8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45867, "upload_time": "2019-09-25T15:39:28", "url": "https://files.pythonhosted.org/packages/66/d4/977fdd5186b7cdbb7c43a7aac7c5e4e0337a84cb802e154616f3cfc84563/tabulate-0.8.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "84f4e50d3f30cc4acd95fc70566784d8", "sha256": "d0097023658d4dea848d6ae73af84532d1e86617ac0925d1adf1dd903985dac3" }, "downloads": -1, "filename": "tabulate-0.8.5.tar.gz", "has_sig": false, "md5_digest": "84f4e50d3f30cc4acd95fc70566784d8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45867, "upload_time": "2019-09-25T15:39:28", "url": "https://files.pythonhosted.org/packages/66/d4/977fdd5186b7cdbb7c43a7aac7c5e4e0337a84cb802e154616f3cfc84563/tabulate-0.8.5.tar.gz" } ] }