{ "info": { "author": "Mark Taylor", "author_email": "mark66547ta2@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Software Development :: Libraries", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Utilities" ], "description": ".. |apache| image:: https://img.shields.io/pypi/l/monotable.svg\n :target: http://www.apache.org/licenses/LICENSE-2.0\n :alt: License: Apache 2.0\n\n.. |py_versions| image::\n https://img.shields.io/pypi/pyversions/monotable.svg\n :target: https://pypi.python.org/pypi/monotable\n :alt: Python versions supported\n\n|apache| |py_versions|\n\n.. This file is used by Sphinx and for the setup.py long_description.\n.. The examples are doctested by Sphinx.\n.. The doctest directives here are replaced when setup.py creates\n.. the setup() argument long_description.\n\n.. _Format Specification Mini-Language:\n https://docs.python.org\n /3/library/string.html#format-specification-mini-language\n.. _Format String Syntax:\n https://docs.python.org/3/library/string.html#format-string-syntax\n.. _Template Strings:\n https://docs.python.org/3/library/string.html#template-strings\n.. _Printf Style:\n https://docs.python.org\n /3/library/stdtypes.html#printf-style-string-formatting\n.. _Apache 2.0:\n http://www.apache.org/licenses/LICENSE-2.0\n.. _Documentation:\n https://monotable.readthedocs.io/en/latest//index.html\n.. _More Examples:\n https://monotable.readthedocs.io/en/latest/more_examples.html\n.. _Read the Docs:\n https://readthedocs.org\n.. _Repository:\n https://github.com/tmarktaylor/monotable\n.. _Issue Tracker:\n https://github.com/tmarktaylor/monotable/issues\n.. _Python Package Index/monotable:\n https://pypi.python.org/pypi/monotable\n.. _Master branch build status, coverage, testing:\n https://github.com/tmarktaylor/monotable/blob/master/README.md\n.. _Contributing:\n https://github.com/tmarktaylor/monotable/blob/master/contributing.md\n\nIntroduction, Installation\n==========================\n\nMonotable is a Python library that generates an ASCII table from\ntabular cell data that looks *pretty* in a monospaced font.\n\nMonotable offers formatting directives_ to reduce messy table\npre-formatting code. You can set directives for each column.\nYou can also write and plug in your own format function directives.\n\nHere is a list of some of the things Monotable does:\n\n- Allows multi-line title, heading, and cell strings.\n- Supports column oriented cell data.\n- Generate a table with borders.\n- Directives to limit column width and text wrap.\n- Add horizontal and vertical rules.\n- Is *thoroughly* documented and tested.\n\nInstallation\n------------\n\n::\n\n pip install monotable\n\nExamples\n========\n\nPer column format specifications\n--------------------------------\n\nSpecify format string for each column.\n\n.. code:: python\n\n from monotable import mono\n headings = ['comma', 'percent']\n formats = [',', '.1%']\n cells = [[123456789, 0.33], [2345678, 0.995]]\n print(mono(\n headings, formats, cells, title=\"',' and '%' formats.\"))\n\n.. code::\n\n ',' and '%' formats.\n --------------------\n comma percent\n --------------------\n 123,456,789 33.0%\n 2,345,678 99.5%\n --------------------\n\n- List **formats** supplies the format strings containing the\n formatting instructions.\n They are assigned to columns from left to right.\n- Here the format strings are just format specifications.\n- For each cell in the column, it and the format specification is passed\n to the built-in function **format(value, format_spec)**.\n- To write a format_spec, consult Python's\n `Format Specification Mini-Language`_.\n- The cells are organized as a list of rows where each row is a list\n of cells.\n\nzero and none format directives\n-------------------------------\n\nImprove the appearance of zero values.\nShow the meaning of cell type None.\n\n.. code:: python\n\n from datetime import datetime\n from monotable import mono\n\n headings = [\n 'hour',\n '24 hour\\ntemp\\nchange',\n 'wind\\nspeed',\n 'precip.\\n(inches)'\n ]\n\n formats = [\n '%H',\n '(zero=same)+.0f',\n '(zero=calm;none=offline).0f',\n '(zero=).2f',\n ]\n\n h7 = datetime(2019, 2, 28, 7, 0, 0)\n h8 = datetime(2019, 2, 28, 8, 0, 0)\n h9 = datetime(2019, 2, 28, 9, 0, 0)\n\n cells = [\n [h7, -2.3, 11, 3.4],\n [h8, 0.1, 0, 0.0],\n [h9, 5, None, 0.6734]\n ]\n\n print(mono(\n headings, formats, cells, title='=Formatting directives.'))\n\n.. code::\n\n Formatting directives.\n --------------------------------\n 24 hour\n temp wind precip.\n hour change speed (inches)\n --------------------------------\n 07 -2 11 3.40\n 08 same calm\n 09 +5 offline 0.67\n --------------------------------\n\n- The ``'%H'`` format specification is passed by built-in function\n **format()** to datetime.__format__().\n- The ``'(zero=same)+.0f'`` format string is split into two parts.\n\n - ``(zero=same)`` selects the zero directive with the value ``same``.\n - ``+.0f`` is passed to the format function as format_spec.\n\n- The zero format directive applies when the cell is a Number and the\n formatted text contains no non-zero digits. The characters after zero= are\n the formatted text for the cell.\n- Format directives are enclosed by ``(`` and ``)``.\n- Separate multiple format directives with ``;``.\n- The none format directive formats the cell value None as the characters\n after none=.\n\nparentheses format directive\n----------------------------\n\nEnclose negative numbers with parentheses. The 1's digit remains in\nthe same column.\n\n.. code:: python\n\n from monotable import mono\n\n headings = ['Description', 'Amount']\n formats = ['', '(zero=n/a;parentheses),']\n\n cells = [\n ['receivables', 51],\n ['other assets', 9050],\n ['gifts', 0],\n ['pending payments', -75],\n ['other liabilities', -623]\n ]\n\n print(mono(\n headings, formats, cells, title='parentheses directive.'))\n\n.. code::\n\n parentheses directive.\n -------------------------\n Description Amount\n -------------------------\n receivables 51\n other assets 9,050\n gifts n/a\n pending payments (75)\n other liabilities (623)\n -------------------------\n\nFormat function directives\n--------------------------\n\nFormat function directives select the format function used for the column.\nThese are useful for scaling numbers and showing truth values.\n\n.. code:: python\n\n from monotable import mono\n\n headings = [\n 'units of\\nthousands',\n 'bool to\\nyes/no'\n ]\n\n formats = [\n '(thousands).1f',\n '(boolean)yes,no'\n ]\n\n cells = [\n [35200, True],\n [1660, False]\n ]\n\n print(mono(\n headings, formats, cells, title='Format function directives.'))\n\n.. code::\n\n Format function directives.\n ------------------\n units of bool to\n thousands yes/no\n ------------------\n 35.2 yes\n 1.7 no\n ------------------\n\n- Note the format function directives thousands and boolean.\n- '(thousands)' divides the cell value by 1000.0 and then calls **format()**.\n- '(boolean)yes,no' formats the cells that test True as 'yes'\n and False as 'no'.\n- You can substitute any text you want for 'yes,no' for example 'on,off'.\n- You can also write and plug in an unlimited number of custom format\n function directives.\n- monotable's format function directives are implemented in the file plugin.py.\n\n\nColumn oriented input with vertical rule column\n-----------------------------------------------\n\n.. code:: python\n\n from monotable import monocol, VR_COL\n\n column0 = ('award', '', ['nominated', 'won'])\n column1 = ('bool to\\nyes/no', '(boolean)yes,no', [True, False])\n columns = [column0, VR_COL, column1]\n\n print(monocol(columns,\n title='Columns with\\nvertical rule.'))\n\n.. code::\n\n Columns with\n vertical rule.\n -------------------\n | bool to\n award | yes/no\n -------------------\n nominated | yes\n won | no\n -------------------\n\n- VR_COL in the second column renders the vertical bars.\n- The title is center aligned.\n\nHorizontal and vertical rules in a row oriented table\n-----------------------------------------------------\n\nThe cell row **monotable.HR_ROW** will be replaced with\na heading guideline.\n\nThe text between columns can be changed with the format directive lsep.\nlsep specifies the separator between this column and the left side\nneighbor column.\n\nBy default the column separator is two spaces.\nIn this example lsep in the second\ncolumn is changed to ``' | '``. This creates an effect approximating\na vertical rule.\n\nThe last row only has one element. **monotable** extends short heading,\nformats, and cell rows with the empty string value. Extra format\ndirective strings are silently ignored.\n\n.. code:: python\n\n from monotable import mono, HR_ROW\n\n headings = ['col-0', 'col-1']\n formats = ['', '(lsep= | )']\n\n cells = [['time', '12:45'],\n ['place', 'home'],\n HR_ROW, # put a heading guideline here\n ['sound', 'bell'],\n ['volume']] # short row is extended with empty string\n\n print(mono(headings, formats, cells))\n\n.. code::\n\n --------------\n col-0 | col-1\n --------------\n time | 12:45\n place | home\n --------------\n sound | bell\n volume |\n --------------\n\n\n`Documentation`_ on `Read the Docs`_\n\n`More Examples`_\n\n.. _directives:\n\nList of format directives\n=========================\n\nRead about all the format directive syntax in the full `Documentation`_.\nFollow the Format directives link in the Quick Links section.\n\nnone=ccc\n render cell type None as characters ccc.\n\nzero=ccc\n render numeric cell that formats to zero to characters ccc.\n\nparentheses\n remove minus sign and enclose negative cell value in parentheses.\n\nlsep=ccc\n Characters ccc separate this column and the column to the left.\n\nrsep=ccc\n Characters ccc separate this column and the column to the right.\n\nwidth=N\n sets maximum width of column to N characters, content is truncated\n\nwidth=N;wrap\n sets maximum width of column to N characters, content is text wrapped\n\nwidth=N;fixed\n Pads or truncates content to N characters.\n\nwidth=N;fixed;wrap\n Pads or text wraps content to N characters.\n\n\nList of format function directives\n==================================\n\nboolean\n test cell truth value and substitute caller's strings for True, False.\n The format_spec is ttt,fff where characters ttt are rendered for True and\n the characters fff are rendered for False. If no format_spec is\n present, ``'T,F'`` is used.\n\nfunction-name\n selects user defined function function-name.\n User can plug in an unlimited number of format functions.\n\nthousands millions billions trillions\n divide cell value by 1000.0 (1.0e6, 1.0e9, 1,0e12).\n\nmilli micro nano pico\n multiply cell value by 1000.0 (1.0e6, 1.0e9, 1,0e12).\n\nkibi mebi gibi tebi\n divide cell value by 1024. (1024**2, 1024**3, 1024**4).\n\nmformat\n format cells that are mappings by selecting keys with the format_spec.\n\npformat\n cell is formatted by python printf-style percent operator '%'.\n\nsformat\n format cell with str.format().\n\ntformat\n format cell using string.Template.substitute().\n\n\nAuto-alignment and how to override it\n=====================================\n\nMonotable auto-aligns the title, headings, and each column.\n\nAuto-alignment is overridden by\nusing one of ``'<'``, ``'^'``, ``'>'`` prefixes\non a heading string, format directive string, or title.\n\nRead more about auto-alignment in \"Quick Links\"\nsection in the full `Documentation`_. Follow the link `Auto-alignment`.\n\n\nLinks to License, Docs, Repos, Issues, PYPI page\n================================================\n\n- License: `Apache 2.0`_\n- Full `Documentation`_ on `Read the Docs`_\n- `Repository`_\n- `Issue Tracker`_\n- `Python Package Index/monotable`_\n- `Master branch build status, coverage, testing`_\n\nWhat monotable does not do\n==========================\n\n- Produce terminal graphics characters. Try PYPI terminaltables.\n- Handle CJK wide characters.\n- Handle ANSI escape terminal color sequences. Try PYPI terminaltables.\n- Produce arbitrary markup source text. Try PYPI tabulate instead.\n However calling mono() or monocol() with keyword argument\n bordered=True produces valid reStructuredText grid table and\n simple table markup is possible.\n\nMonotable does make the output of its formatting and\nalignment engine available in list form. Please look for the function\n**MonoTable.row_strings()** in the API documentation.\n\n.. Reserved for recognizing contributors\n.. Contributors\n.. ============\n\nRecent Changes\n==============\n2.1.0 - 2019-02-25\n\n- Add module level convenience functions mono(), monocol() and\n constants HR_ROW, VR_COL.\n- Add formatting directives none, zero, parentheses, lsep, and rsep.\n- Reorder/rework docs examples and other sections.\n- Change what (boolean) prints when malformed format spec.\n- Drop Python 3.3 and 3.4 classifiers. Drop Python 3.4 tests from Travis CI.\n\n2.0.1 - 2018-05-12\n\n- Bugfix- MonoTableCellError on str below float in a column.\n- Bugfix- Incorrect format spec reported in MonoTableCellError.\n\n2.0.0 - 2017-06-16\n\n- Changed the API: headings and formats parameters are now passed to table(),\n bordered_table().\n- Added to class MonoTable 2 member functions that take table data\n organized as columns.\n- Added convenience functions to module monotable.table.\n They call class MonoTable public member functions.\n- Added 13 new plugin format functions and the corresponding format options:\n boolean, thousands, millions, billions, trillions, milli, micro, nano,\n pico, kibi, mebi, gibi, tebi.\n- Removed 'from MonoTable import' statements from __init__.py.\n\n1.0.2 - 2017-04-06\n\n- Bug fix, incorrect cell auto-alignment when mixed types in a column.\n- Bug fix, format_none_as cell ignoring column format string's align_spec.\n- Remove and re-add files to git index so stored with LFs.\n- Add complexity inspections to CI.\n- Refactor 2 functions to reduce McCabe complexity.\n- Code inspection fixes. Docs and comments fixed.\n\n1.0.1 - 2017-03-26\n\n- MANIFEST.in and doc fixes.\n\n.. admonition:: More ...\n\n If you are not already there, please continue reading\n `More Examples`_ in the `Documentation`_ on `Read the Docs`_.\n\nContributing and Developing\n===========================\n\nPlease see `Contributing`_.\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/tmarktaylor/monotable", "keywords": "ascii table pretty", "license": "Apache 2.0", "maintainer": "", "maintainer_email": "", "name": "monotable", "package_url": "https://pypi.org/project/monotable/", "platform": "", "project_url": "https://pypi.org/project/monotable/", "project_urls": { "Homepage": "https://github.com/tmarktaylor/monotable" }, "release_url": "https://pypi.org/project/monotable/2.1.0/", "requires_dist": [ "pytest-cov ; extra == 'cover'", "codecov ; extra == 'cover'", "sphinx ; extra == 'docs'", "sphinx-rtd-theme ; extra == 'docs'", "typing ; extra == 'experimental_static_type_checking'", "mypy ; extra == 'experimental_static_type_checking'", "flake8 ; extra == 'inspect'", "pep8-naming ; extra == 'inspect'", "readme-renderer ; extra == 'readme'", "tox ; extra == 'test'", "pytest ; extra == 'test'" ], "requires_python": "", "summary": "ASCII table with per column format specs, multi-line content, formatting directives, column width control.", "version": "2.1.0" }, "last_serial": 4866935, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "d638ea3bfa2f906e66e69c1676b862f1", "sha256": "6f31ef73687901c31cb55e4cd2da643240751c75369e29023871aac28887eafe" }, "downloads": -1, "filename": "monotable-1.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d638ea3bfa2f906e66e69c1676b862f1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 32829, "upload_time": "2017-03-25T16:07:19", "url": "https://files.pythonhosted.org/packages/7a/07/13b92021f26c2e258c8319f5d7cb9632a302477a0b388c7f3b96e7fa4dd9/monotable-1.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "63a0300efba3305530e87950d1ba884a", "sha256": "ef28a70744d67e6e9971a81493750bec39ed8309b10c734937ce80dd8da2274e" }, "downloads": -1, "filename": "monotable-1.0.0.tar.gz", "has_sig": false, "md5_digest": "63a0300efba3305530e87950d1ba884a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 62342, "upload_time": "2017-03-25T16:07:20", "url": "https://files.pythonhosted.org/packages/b8/69/65db4d69d60c173c2240504debedfc3b8849187bd42d72e9dcaaf9dd45fd/monotable-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "263a8f5b66b6fe8ed0bff86d8130dc8b", "sha256": "8de8522be88eb268f50382d01b4fc476fbdea1fe3722f4a158d2b92bd91c3bcd" }, "downloads": -1, "filename": "monotable-1.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "263a8f5b66b6fe8ed0bff86d8130dc8b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 33257, "upload_time": "2017-03-26T21:55:18", "url": "https://files.pythonhosted.org/packages/e3/88/900092890689988f96a48b0977b1a41da2291e4b4b8deda2c06d3b7ef1af/monotable-1.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "db0912dd0b5683010777c25b933e41df", "sha256": "c92bab1df2c3078d1bbe73598198c7b4b3669b0ea34370fc9fddbf46e1702019" }, "downloads": -1, "filename": "monotable-1.0.1.zip", "has_sig": false, "md5_digest": "db0912dd0b5683010777c25b933e41df", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 83247, "upload_time": "2017-03-26T21:55:19", "url": "https://files.pythonhosted.org/packages/f0/a7/74e79021a1b411a18f9a7f51092948dda1f15cf5b0f5ba28c1324a95f239/monotable-1.0.1.zip" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "b2ea169c78a659011871782718c301df", "sha256": "c0bc8c12f5b6026616a842eedb7a5df752a1c8b8f8fcd293f42dcffd719e4990" }, "downloads": -1, "filename": "monotable-1.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b2ea169c78a659011871782718c301df", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 33783, "upload_time": "2017-04-06T18:55:39", "url": "https://files.pythonhosted.org/packages/5f/8b/322aa0282d8c531edc50ecec49da4576230860311c60b65f99269cc8c07e/monotable-1.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b37b0baaa57f762fe9f83663e46a2429", "sha256": "d4f62d8e423bbf7429e47676269d724ec755aedb585716d4d82dcf4b10cfb7eb" }, "downloads": -1, "filename": "monotable-1.0.2.zip", "has_sig": false, "md5_digest": "b37b0baaa57f762fe9f83663e46a2429", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 84972, "upload_time": "2017-04-06T18:55:40", "url": "https://files.pythonhosted.org/packages/86/44/6150937c654a9c1487ff9e717c521741e66f3261cc5beca584482c0035d3/monotable-1.0.2.zip" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "7113fcbe24c50d91cf6452bc834fe16e", "sha256": "6bae8fd48412ff8370cfa2d7b2c4403c02958e991fd146efb902d7fbfdc2083d" }, "downloads": -1, "filename": "monotable-2.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7113fcbe24c50d91cf6452bc834fe16e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 38696, "upload_time": "2017-06-16T19:34:46", "url": "https://files.pythonhosted.org/packages/46/1d/ad170a62bcc0836ed031c2de1de2523e24b096447b8e72c801d374a6f506/monotable-2.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "49a68a9f54812fc4640589fb54f9a5f9", "sha256": "ab2ab9c796cbe773fa53407e4535a87d887edac11a4d8992b345d965b7b2418d" }, "downloads": -1, "filename": "monotable-2.0.0.zip", "has_sig": false, "md5_digest": "49a68a9f54812fc4640589fb54f9a5f9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 94671, "upload_time": "2017-06-16T19:34:47", "url": "https://files.pythonhosted.org/packages/12/0e/9a5f5643a7c9615178a9d124fca92a0f0987af74ef75fa6e13fac3c309c3/monotable-2.0.0.zip" } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "b36ef8137d4152bb7f5ce08f5ed8dd27", "sha256": "a7fe4b951ff095808db49428f0f2e93f36ce8ee4db5c450bb01d6f353317ddf4" }, "downloads": -1, "filename": "monotable-2.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b36ef8137d4152bb7f5ce08f5ed8dd27", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 38793, "upload_time": "2018-05-12T18:47:47", "url": "https://files.pythonhosted.org/packages/10/7a/a08b2dc50e6bc688b2a16afd78b93155601c706eb17ca41c074c8a768999/monotable-2.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6de10d8890c4c2711e7c00c3ac8adea6", "sha256": "414f50fe6dd55b9b5d3a91b8f489cf45b6e117c593c970bfe6e00dfca6bbaa1a" }, "downloads": -1, "filename": "monotable-2.0.1.zip", "has_sig": false, "md5_digest": "6de10d8890c4c2711e7c00c3ac8adea6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 94897, "upload_time": "2018-05-12T18:47:49", "url": "https://files.pythonhosted.org/packages/92/d4/5ed024bba9eac9fd43d83d4c224b2dc1fc4cee4861128829c185618ebf80/monotable-2.0.1.zip" } ], "2.1.0": [ { "comment_text": "", "digests": { "md5": "7e58471743e67df00c16acf1f407b033", "sha256": "f7e1f0e1a9588a639a7922b19453db5cb0e58b46809b1b9e2fd5251cabba79f4" }, "downloads": -1, "filename": "monotable-2.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7e58471743e67df00c16acf1f407b033", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 41406, "upload_time": "2019-02-25T21:59:38", "url": "https://files.pythonhosted.org/packages/91/6d/0360df63fdef816262264dded04247761bbb81548539c0b9a2e7e1363994/monotable-2.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4346888f41cd2a14531c2fe7ee084c1f", "sha256": "d23ee90ab2f3cc21a2f6181a8d6a7fbeab2eb3301cc2b63f10957591fb7b9ba1" }, "downloads": -1, "filename": "monotable-2.1.0.tar.gz", "has_sig": false, "md5_digest": "4346888f41cd2a14531c2fe7ee084c1f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 84807, "upload_time": "2019-02-25T21:59:40", "url": "https://files.pythonhosted.org/packages/2c/22/b2f4499c945e6382756b50b7cef1f52f7359bf67e64b87c933a540bf623f/monotable-2.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "7e58471743e67df00c16acf1f407b033", "sha256": "f7e1f0e1a9588a639a7922b19453db5cb0e58b46809b1b9e2fd5251cabba79f4" }, "downloads": -1, "filename": "monotable-2.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7e58471743e67df00c16acf1f407b033", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 41406, "upload_time": "2019-02-25T21:59:38", "url": "https://files.pythonhosted.org/packages/91/6d/0360df63fdef816262264dded04247761bbb81548539c0b9a2e7e1363994/monotable-2.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4346888f41cd2a14531c2fe7ee084c1f", "sha256": "d23ee90ab2f3cc21a2f6181a8d6a7fbeab2eb3301cc2b63f10957591fb7b9ba1" }, "downloads": -1, "filename": "monotable-2.1.0.tar.gz", "has_sig": false, "md5_digest": "4346888f41cd2a14531c2fe7ee084c1f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 84807, "upload_time": "2019-02-25T21:59:40", "url": "https://files.pythonhosted.org/packages/2c/22/b2f4499c945e6382756b50b7cef1f52f7359bf67e64b87c933a540bf623f/monotable-2.1.0.tar.gz" } ] }