{ "info": { "author": "Christian Muirhead", "author_email": "xtian@babbageclunk.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "========\nTreepoem\n========\n\n.. image:: https://img.shields.io/pypi/v/treepoem.svg\n :target: https://pypi.python.org/pypi/treepoem\n\n.. image:: https://img.shields.io/travis/adamchainz/treepoem.svg\n :target: https://travis-ci.org/adamchainz/treepoem\n\n.. image:: https://img.shields.io/badge/code%20style-black-000000.svg\n :target: https://github.com/python/black\n\nA cleverly named, but very simple python barcode renderer wrapping the\nBWIPP_ library and ``ghostscript`` command line tool.\n\n------------\nInstallation\n------------\n\nInstall from **pip**:\n\n.. code-block:: sh\n\n pip install treepoem\n\nPython 3.5-3.7 supported.\n\nYou'll also need Ghostscript installed. On Ubuntu/Debian this can be installed\nwith:\n\n.. code-block:: sh\n\n apt-get install ghostscript\n\nOn Mac OS X use:\n\n.. code-block:: sh\n\n brew install ghostscript\n\nOtherwise refer to your distribution's package manager, though it's likely to\nbe called ``ghostscript`` too.\n\nThere's a known issue with rendering on Ghostscript 9.22+ where images are\nsmeared. See\n`GitHub Issue #124 `_ and\nits associated links for more details. Ghostscript merged a fix in version\n9.26 and common barcodes seem to work from then on, though still with some\nsmearing.\n\nYou can check your Ghostscript version with:\n\n.. code-block:: sh\n\n gs --version\n\n---\nAPI\n---\n\n``generate_barcode(barcode_type, data, options=None)``\n------------------------------------------------------\n\nGenerates a barcode and returns it as a PIL image file object (specifically, a\n``PIL.EpsImagePlugin.EpsImageFile``).\n\n``barcode_type`` is the name of the barcode type to generate (see below).\n\n``data`` is a ``str`` (Python 2 ``unicode``) or ``bytes`` (Python 2 ``bytes``)\nof data to embed in the barcode - the amount that can be embedded varies by\ntype.\n\n``options`` is a dictionary of strings-to-strings of extra options to be passed\nto BWIPP_, as per its docs.\n\nFor example, this generates a QR code image, and saves it to a file using\nstandard PIL ``Image.save()``:\n\n.. code-block:: python\n\n >>> import treepoem\n >>> image = treepoem.generate_barcode(\n ... barcode_type='qrcode', # One of the BWIPP supported codes.\n ... data='barcode payload',\n ... )\n >>> image.convert('1').save('barcode.png')\n\nIf your barcode image is monochrome, with no additional text or\ncoloring, converting the ``Image`` object to monochrome as shown above\n(``image.convert('1')``) will likely reduce its file size.\n\n``barcode_types``\n-----------------\n\nThis is a ``dict`` of the ~100 names of the barcode types that the vendored\nversion of BWIPP_ supports: its keys are ``str``\\s of the barcode type encoder\nnames, and the values are instances of ``BarcodeType``.\n\n``BarcodeType``\n---------------\n\nA class representing meta information on the types. It has two attributes:\n\n* ``type_code`` - the value needed for the ``barcode_type`` argument of\n ``generate_barcode()`` to use this type.\n\n* ``description`` - the human level description of the type\n which has two ``str``.\n\nOnly these common types are used in the test suite:\n\n* ``qrcode`` - `QR Code`_\n\n* ``azteccode`` - `Aztec Code`_\n\n* ``pdf417`` - PDF417_\n\n* ``interleaved2of5`` - `Interleaved 2 of 5`_\n\n* ``code128`` - `Code 128`_\n\n* ``code39`` - `Code 39`_\n\n----------------------\nCommand-line interface\n----------------------\n\nTreepoem also includes a simple command-line interface to the\nfunctionality of ``generate_barcode``. For example, these commands\nwill generate two QR codes with identical contents, but different levels\nof error correction (see `QR Code Options`_):\n\n.. code-block:: sh\n\n $ treepoem -o barcode1.png -t qrcode \"This is a test\" eclevel=H\n $ treepoem -o barcode2.png -t qrcode \"^084his is a test\" eclevel=L parse\n\nComplete usage instructions are shown with ``treepoem --help``.\n\n--------------------------------\nWhat's so clever about the name?\n--------------------------------\n\nBarcode.\n\nBark ode.\n\nTree poem.\n\n\n.. _BWIPP: https://github.com/bwipp/postscriptbarcode\n.. _QR Code: https://github.com/bwipp/postscriptbarcode/wiki/QR-Code\n.. _Aztec Code: https://github.com/bwipp/postscriptbarcode/wiki/Aztec-Code\n.. _PDF417: https://github.com/bwipp/postscriptbarcode/wiki/PDF417\n.. _Interleaved 2 of 5: https://github.com/bwipp/postscriptbarcode/wiki/Interleaved-2-of-5\n.. _Code 128: https://github.com/bwipp/postscriptbarcode/wiki/Code-128\n.. _Code 39: https://github.com/bwipp/postscriptbarcode/wiki/Code-39\n.. _QR Code Options: https://github.com/bwipp/postscriptbarcode/wiki/QR-Code\n\n\n\n\n-------\nHistory\n-------\n\n.. Insert new release notes below this line\n\n3.1.0 (2019-06-25)\n------------------\n\n* Update Python support to 3.5-3.7, as 3.4 has reached its end of life.\n* Upgrade BWIPP from 2017-07-27 to 2019-04-24. This has a few bug fixes and\n performance improvements. You can read its changelog in the vendored copy in\n the `treepoem repo\n `__.\n\n3.0.0 (2019-05-08)\n------------------\n\n* Drop Python 2 support, only Python 3.4+ is supported now.\n* Upgrade BWIPP from 2017-05-20 to 2018-07-27. This has a few bug fixes and\n performance improvements. You can read its changelog in the vendored copy in\n the `treepoem repo\n `__.\n\n2.0.0 (2018-08-04)\n------------------\n\n* Support binary barcode data - if ``bytes`` (``str`` on Python 2) is passed\n as data, it's not encoded. This has introduced a dependency on ``six``. This\n may be backwards incompatible, depending on what type of data you're passing\n in on Python 2.\n* Make ``treepoem.barcode_types`` a ``dict`` mapping the BWIPP encoder\n names to a custom type containing a human-readable ``description``. This is\n backwards incompatible if you're relying on ``barcode_types`` which\n previously was a ``set`` of the encoder names.\n* Upgrade BWIPP from 2017-10-19 to 2018-05-20. This has a few bug fixes and\n performance improvements. You can read its changelog in the vendored copy in\n the `treepoem repo\n `__.\n\n1.4.1 (2018-05-01)\n------------------\n\n* Fix formatting bug in CLI output.\n\n1.4.0 (2018-05-01)\n------------------\n\n* Make the ``options`` argument to ``generate_barcode`` optional.\n* Add a CLI ``treepoem``.\n* Upgrade BWIPP from 2017-07-10 to 2017-10-19. This has a few bug fixes and\n performance improvements. You can read its changelog in the vendored copy in\n the `treepoem repo\n `__.\n\n1.3.2 (2017-10-22)\n------------------\n\n* Upgrade BWIPP from 2017-07-10 to 2017-10-19. This has a few bug fixes. You\n can read its changelog in the vendored copy in the `treepoem repo\n `__.\n\n1.3.1 (2017-08-24)\n------------------\n\n* Upgrade BWIPP from 2017-06-20 to 2017-07-10. This has a few bug fixes. You\n can read its changelog in the vendored copy in the `treepoem repo\n `__.\n\n1.3.0 (2017-06-21)\n------------------\n\n* Upgrade BWIPP from 2015-11-24 to 2017-06-20. This has a number of bug fixes,\n and supports more barcode types. It has also changed the pixel-for-pixel\n output of some formats, although they still encode the same information -\n notably QR codes, which are tested in ``treepoem``\\'s test suite. You can\n read its changelog in the `vendored copy in the treepoem repo\n `__.\n\n1.2.0 (2017-06-21)\n------------------\n\n* Add ``treepoem.barcode_types``, a set of all the names of supported barcode\n types, and error if asked to generate a barcode of an unknown type.\n\n1.1.0 (2017-04-13)\n------------------\n\n* Support Windows.\n\n1.0.1 (2016-03-30)\n------------------\n\n* Add the missing ``BWIPP`` files.\n\n1.0.0 (2016-03-23)\n------------------\n\n* Use ``$PATH`` to find ``gs`` binary.\n* Rename ``PostscriptError`` to ``TreepoemError``.\n* Add basic ``setup.py``.\n* Setup Travis CI build.\n* Setup Tox\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/adamchainz/treepoem", "keywords": "barcode bwipp postscript ghostscript qr qrcode aztec azteccode pdf417 interleaved2of5 i25 code128 code39", "license": "MIT", "maintainer": "Adam Johnson", "maintainer_email": "me@adamj.eu", "name": "treepoem", "package_url": "https://pypi.org/project/treepoem/", "platform": "", "project_url": "https://pypi.org/project/treepoem/", "project_urls": { "Homepage": "https://github.com/adamchainz/treepoem" }, "release_url": "https://pypi.org/project/treepoem/3.1.0/", "requires_dist": [ "Pillow" ], "requires_python": ">=3.5", "summary": "Barcode rendering for Python 2 and 3 supporting QRcode, Aztec, PDF417, I25, Code128, Code39 and many more types.", "version": "3.1.0" }, "last_serial": 5446119, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "657a7ae18389c92e2bbfeddb9b238aae", "sha256": "609c594134464765713fdc6103eeeee85cda95b7ebbcd6c66d843f691491a3eb" }, "downloads": -1, "filename": "treepoem-1.0.0.tar.gz", "has_sig": false, "md5_digest": "657a7ae18389c92e2bbfeddb9b238aae", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8181, "upload_time": "2016-03-23T10:59:37", "url": "https://files.pythonhosted.org/packages/5a/29/8e77b32e6b5f91e87dad4d11c6b46f99c1d3e2dfc7c957504b9f7cdb906f/treepoem-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "376e43881a9c0262bc94cc8edb9e23b0", "sha256": "f6806862d5695970f9be9701e90058dc714630116962caeedd96215b0f35c0e7" }, "downloads": -1, "filename": "treepoem-1.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "376e43881a9c0262bc94cc8edb9e23b0", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 299871, "upload_time": "2016-10-13T14:05:55", "url": "https://files.pythonhosted.org/packages/da/37/df95940f2e9918bfebb1ffd8f26b3aa31ba3ec53c8a56d6a9e7a0cfefffb/treepoem-1.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "88f6cd6b523c03eca51b8948fd30f0a2", "sha256": "94714e2126ea55e8983f0bae77060b416468082b6c9db58b9e4e93ec9ef5b837" }, "downloads": -1, "filename": "treepoem-1.0.1.tar.gz", "has_sig": false, "md5_digest": "88f6cd6b523c03eca51b8948fd30f0a2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 298251, "upload_time": "2016-03-30T15:32:04", "url": "https://files.pythonhosted.org/packages/c6/64/aed53772fc91dbd5045e61fc123ef0c0fbd124ec5ce84eab6615de3ce84e/treepoem-1.0.1.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "de53ef8bfe621902072c63ce8b4e054f", "sha256": "d22aeb232e03dbdd14d72d659b6f754e62f581ba3b614dafd734ca74a17c3a3f" }, "downloads": -1, "filename": "treepoem-1.1.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "de53ef8bfe621902072c63ce8b4e054f", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 300479, "upload_time": "2017-04-13T08:02:25", "url": "https://files.pythonhosted.org/packages/e7/8d/ca205da22b0b84012b527002657ec00167f642a5a0f740db7b000c1656ee/treepoem-1.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "60f2cce1ca6fdb5a8670f79f82a75313", "sha256": "6c8f366efcc7fc1f782c50bd20c104503543f65b7356f9f273b0a2fddc363577" }, "downloads": -1, "filename": "treepoem-1.1.0.tar.gz", "has_sig": true, "md5_digest": "60f2cce1ca6fdb5a8670f79f82a75313", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 299510, "upload_time": "2017-04-13T08:02:22", "url": "https://files.pythonhosted.org/packages/72/9e/b0ca1484b6e60d6e0747894bb456c890a3df6af36b23dbdac13ccbd9681c/treepoem-1.1.0.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "180d526c0876b5629c097ec0ff023317", "sha256": "c6d6f5bf3e774faa0011b83672da0b3a8892262dc0be02b4771ccfc22778d657" }, "downloads": -1, "filename": "treepoem-1.2.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "180d526c0876b5629c097ec0ff023317", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 301942, "upload_time": "2017-06-21T07:18:54", "url": "https://files.pythonhosted.org/packages/94/8a/de543ff19bec58824864b8639e826c4e8c92a4c3fa805b8a3bccb8614f4e/treepoem-1.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5a41651b75e3b421d4d3dd7b6ceba97e", "sha256": "7edae88f63b358998761619c72718dc04812780929b87814e2f1b993d925fea1" }, "downloads": -1, "filename": "treepoem-1.2.0.tar.gz", "has_sig": true, "md5_digest": "5a41651b75e3b421d4d3dd7b6ceba97e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 301061, "upload_time": "2017-06-21T07:18:52", "url": "https://files.pythonhosted.org/packages/75/68/458dff684adc3f4fa33cf18b391121c5b8990923ad91a1dda12e095631a7/treepoem-1.2.0.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "5695b4c1f89b4c9b1879d0c25e956e6b", "sha256": "d63581f82a75eb90858098abc2366ecdc271f809370a4b0593faffd6d4b8202f" }, "downloads": -1, "filename": "treepoem-1.3.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "5695b4c1f89b4c9b1879d0c25e956e6b", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 339400, "upload_time": "2017-06-21T07:45:01", "url": "https://files.pythonhosted.org/packages/80/50/d6931d022fd9583f4d63868221e4e94915509f0df8f6b4c96f16f62a41a3/treepoem-1.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7384048b4160a767dc9574fbedc01dfc", "sha256": "5d85894390e83dc88637cd3415955965eb16515340cb939706c0ad0699a4b63c" }, "downloads": -1, "filename": "treepoem-1.3.0.tar.gz", "has_sig": true, "md5_digest": "7384048b4160a767dc9574fbedc01dfc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 339260, "upload_time": "2017-06-21T07:44:58", "url": "https://files.pythonhosted.org/packages/f9/f6/ae7cc57f80f8a718d86313269561736ed4e9ffa69728caa834b579e2f420/treepoem-1.3.0.tar.gz" } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "5ebc39ff7c6776bbe34a50e7ffa8e22d", "sha256": "2cb8d82c0f7f80e1dde2aea318b6215c14c6c9550d12bec353320ccd89320c7a" }, "downloads": -1, "filename": "treepoem-1.3.1-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "5ebc39ff7c6776bbe34a50e7ffa8e22d", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 339766, "upload_time": "2017-08-24T19:56:29", "url": "https://files.pythonhosted.org/packages/a0/75/5b2704d5b4110830299ab0ac574504d53c01bcda62f91424f14e2776b3db/treepoem-1.3.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7731fd91e06aa45157673efe1a21a4bc", "sha256": "92ccc208fb21fd8def7833a6651142d2a4948850603b1c3d95ac717e4af2ab5c" }, "downloads": -1, "filename": "treepoem-1.3.1.tar.gz", "has_sig": true, "md5_digest": "7731fd91e06aa45157673efe1a21a4bc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 339563, "upload_time": "2017-08-24T19:56:24", "url": "https://files.pythonhosted.org/packages/85/df/45a08c6590492a257cd01ddaf918bce0df7abd45f28347cea1168ef71155/treepoem-1.3.1.tar.gz" } ], "1.3.2": [ { "comment_text": "", "digests": { "md5": "6a00c3812d3a16aaa3c6a6d4595615df", "sha256": "540df4399b20ccd524ae700fd31f01bf65c7ab3df44ab717a703e880fb7274c0" }, "downloads": -1, "filename": "treepoem-1.3.2-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "6a00c3812d3a16aaa3c6a6d4595615df", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 347384, "upload_time": "2017-10-22T19:46:19", "url": "https://files.pythonhosted.org/packages/aa/96/2b694ece48663350685c0dbac415dbfbf16c3ace754d0e73635ad820d339/treepoem-1.3.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "705a691cc708cff589a15579ead08a38", "sha256": "67c59b0f067c0e404b52ffba105f59b0b0bf13205750da16314b1bcfc507261c" }, "downloads": -1, "filename": "treepoem-1.3.2.tar.gz", "has_sig": true, "md5_digest": "705a691cc708cff589a15579ead08a38", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 345884, "upload_time": "2017-10-22T19:46:14", "url": "https://files.pythonhosted.org/packages/09/eb/d47d1d9f4a02fab6fc414af206f99b78375fafbcfa5d93a0edf7ce727c8b/treepoem-1.3.2.tar.gz" } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "da38b212b1f68bd25a2e39f653a9aa03", "sha256": "57c1a44e4baa7ed1bdacf98d100ecbe6ec2946b9bf7a5af3733e0db997f3fb16" }, "downloads": -1, "filename": "treepoem-1.4.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "da38b212b1f68bd25a2e39f653a9aa03", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 353445, "upload_time": "2018-05-01T07:49:43", "url": "https://files.pythonhosted.org/packages/d2/9b/e4a0de3f2aa57ef2eb35c2f376380edee211c36fbfdec9bc6c93f9964e23/treepoem-1.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cafdb66d1c0d13e17ac942986aa6203d", "sha256": "a1fc278278955789cb5a975205c6e5ab4b44497b7a9a3cce4fd54154efdb0d03" }, "downloads": -1, "filename": "treepoem-1.4.0.tar.gz", "has_sig": true, "md5_digest": "cafdb66d1c0d13e17ac942986aa6203d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 353076, "upload_time": "2018-05-01T07:49:39", "url": "https://files.pythonhosted.org/packages/bd/32/40724148f1dba4c9c235e4edd9b3d45725a44c4b02f9a316ecbede897c7b/treepoem-1.4.0.tar.gz" } ], "1.4.1": [ { "comment_text": "", "digests": { "md5": "9f24a442f3ee4427cea80b55e4fe83fd", "sha256": "96274081fa387d16e9c05fa296186d398885a6f459a4f97833d80829a943d8ab" }, "downloads": -1, "filename": "treepoem-1.4.1-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "9f24a442f3ee4427cea80b55e4fe83fd", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 353451, "upload_time": "2018-05-01T09:14:17", "url": "https://files.pythonhosted.org/packages/f2/12/936ddde429e2111d1bdbc3c82a40cf3be87a86ea8ee338e94d012f7a762b/treepoem-1.4.1-py2.py3-none-any.whl" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "06c5e46037b87f0ac47deb0a553b34b1", "sha256": "2c406d5cb13f29c3fe08aeb10adf5f275f4d883a5871d58efc67c8a8ff59cb64" }, "downloads": -1, "filename": "treepoem-2.0.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "06c5e46037b87f0ac47deb0a553b34b1", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 352154, "upload_time": "2018-08-04T16:58:09", "url": "https://files.pythonhosted.org/packages/98/71/dcfa02be0cfd1aedf6a8f78e8c7a5a196af800e75032af80e1a5b5dd9bde/treepoem-2.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "218b5d8584e289f640077b741e3a2c5b", "sha256": "eac172c846be9ac4e775f3ca69284b4402c56192a443e38774c938ca6fd523a8" }, "downloads": -1, "filename": "treepoem-2.0.0.tar.gz", "has_sig": true, "md5_digest": "218b5d8584e289f640077b741e3a2c5b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 355657, "upload_time": "2018-08-04T16:58:05", "url": "https://files.pythonhosted.org/packages/a3/2a/f05a0dea26a1c3f8b4439c035d3cff0b1f6e0aa6171b0a72ae8eb9c3f960/treepoem-2.0.0.tar.gz" } ], "3.0.0": [ { "comment_text": "", "digests": { "md5": "c3e762394df9c01e56563de8a50681e5", "sha256": "751cea36a9f6fe222e18db011ab75a90fc2e75594db79aacef8e95e0d55f4e21" }, "downloads": -1, "filename": "treepoem-3.0.0-py3-none-any.whl", "has_sig": true, "md5_digest": "c3e762394df9c01e56563de8a50681e5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 353194, "upload_time": "2019-05-08T20:00:48", "url": "https://files.pythonhosted.org/packages/16/6c/33f1cc94c363938270a34d854fe17e831a9be98c6e52e0cdfb4729c3561c/treepoem-3.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dabc16501af16c49b7b0399317825d4f", "sha256": "a8e50f01510f095c7d457f87e337834ae94207c36574fd73d73a7a18c2fdfcac" }, "downloads": -1, "filename": "treepoem-3.0.0.tar.gz", "has_sig": true, "md5_digest": "dabc16501af16c49b7b0399317825d4f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 356368, "upload_time": "2019-05-08T20:00:51", "url": "https://files.pythonhosted.org/packages/5d/e1/31942a8d527a194e8cda6a1577087632136102455511d12fac66acd017e6/treepoem-3.0.0.tar.gz" } ], "3.1.0": [ { "comment_text": "", "digests": { "md5": "cd46a1eed63caf8c3e5e05b388e74b9d", "sha256": "d26c0c0783ef8080e30b0651cff77e904ef2fd8c69853d040f864dd29ce2d459" }, "downloads": -1, "filename": "treepoem-3.1.0-py3-none-any.whl", "has_sig": true, "md5_digest": "cd46a1eed63caf8c3e5e05b388e74b9d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 370660, "upload_time": "2019-06-25T14:25:25", "url": "https://files.pythonhosted.org/packages/0c/f6/1daf8a91b44e9d9f333bd262973d6da843fa668f2d00a502b4fae3d1897e/treepoem-3.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dc8fe1a71ae6c52751e5079770af1eb2", "sha256": "c867a31559eb87b91871954fd7df5bd7d9e2d40d1073615028e854ac26bf62a5" }, "downloads": -1, "filename": "treepoem-3.1.0.tar.gz", "has_sig": true, "md5_digest": "dc8fe1a71ae6c52751e5079770af1eb2", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 375412, "upload_time": "2019-06-25T14:25:33", "url": "https://files.pythonhosted.org/packages/9c/a5/fa1cd24d0e4e264a89b79bd9ce0ee6667302355a6d0d56fc2de29f776a7c/treepoem-3.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "cd46a1eed63caf8c3e5e05b388e74b9d", "sha256": "d26c0c0783ef8080e30b0651cff77e904ef2fd8c69853d040f864dd29ce2d459" }, "downloads": -1, "filename": "treepoem-3.1.0-py3-none-any.whl", "has_sig": true, "md5_digest": "cd46a1eed63caf8c3e5e05b388e74b9d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 370660, "upload_time": "2019-06-25T14:25:25", "url": "https://files.pythonhosted.org/packages/0c/f6/1daf8a91b44e9d9f333bd262973d6da843fa668f2d00a502b4fae3d1897e/treepoem-3.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dc8fe1a71ae6c52751e5079770af1eb2", "sha256": "c867a31559eb87b91871954fd7df5bd7d9e2d40d1073615028e854ac26bf62a5" }, "downloads": -1, "filename": "treepoem-3.1.0.tar.gz", "has_sig": true, "md5_digest": "dc8fe1a71ae6c52751e5079770af1eb2", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 375412, "upload_time": "2019-06-25T14:25:33", "url": "https://files.pythonhosted.org/packages/9c/a5/fa1cd24d0e4e264a89b79bd9ce0ee6667302355a6d0d56fc2de29f776a7c/treepoem-3.1.0.tar.gz" } ] }