{ "info": { "author": "Sebastian Rittau", "author_email": "srittau@rittau.biz", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Internet :: WWW/HTTP :: WSGI", "Topic :: Text Processing :: Markup :: HTML" ], "description": "Python HTML 5 Generator\n=======================\n\n.. image:: https://img.shields.io/pypi/l/htmlgen.svg\n :target: https://pypi.python.org/pypi/htmlgen/\n.. image:: https://img.shields.io/github/release/srittau/python-htmlgen/all.svg\n :target: https://github.com/srittau/python-htmlgen/releases/\n.. image:: https://img.shields.io/pypi/v/htmlgen.svg\n :target: https://pypi.python.org/pypi/htmlgen/\n.. image:: https://travis-ci.org/srittau/python-htmlgen.svg?branch=master\n :target: https://travis-ci.org/srittau/python-htmlgen\n\nLibrary to generate HTML from classes.\n\nBasic usage:\n\n>>> from htmlgen import Division, Span\n>>> Division(\"This is \", Span(\"important!\"), \"!\")\n\nA more verbose example:\n\n>>> span = Span(\"important\")\n>>> span.add_css_classes(\"important\")\n>>> div = Division()\n>>> div.id = \"my-block\"\n>>> div.append(\"This is \")\n>>> div.append(span)\n>>> div.append(\"!\")\n\nA tree constructed like this can be converted to a string:\n\n>>> str(div)\n'
This is important!
'\n>>> \"

This is {}!

\".format(span)\n'

This is important!

'\n\nAlternatively, all elements can be used as iterators, for example to return\nthem from a WSGI callback:\n\n>>> def application(env, start_response):\n... start_response(\"200 OK\", [(\"Content-Type\", \"text/html\")])\n... return div\n\nThere are two different ways to render children of HTML elements. The tree\nconstruction approach shown above is mainly suitable for elements with few\nchildren. The disadvantage of this approach is that the whole tree must be\nconstructed in memory. An alternative way, best suited for custom sub-classes\nof elements, is to override the generate_children method of the Element class:\n\n>>> class MyBlock(Division):\n... def __init__(self):\n... super(MyBlock, self).__init__()\n... self.id = \"my-block\"\n... def generate_children(self):\n... yield \"This is \"\n... span = Span(\"important\")\n... span.add_css_classes(\"important\")\n... yield span\n... yield \"!\"\n>>> str(MyBlock())\n'
This is important!
'\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/srittau/python-htmlgen", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "htmlgen", "package_url": "https://pypi.org/project/htmlgen/", "platform": "", "project_url": "https://pypi.org/project/htmlgen/", "project_urls": { "Homepage": "https://github.com/srittau/python-htmlgen" }, "release_url": "https://pypi.org/project/htmlgen/1.2.2/", "requires_dist": null, "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "summary": "HTML 5 Generator", "version": "1.2.2" }, "last_serial": 4244340, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "d7642ae6745ccb11fa0f306c4bd6c02a", "sha256": "db3221d5bf33cea584ae7450a4c0f6230abe730e9412b79d8156c8349e2c9c90" }, "downloads": -1, "filename": "htmlgen-0.1.tar.gz", "has_sig": false, "md5_digest": "d7642ae6745ccb11fa0f306c4bd6c02a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6870, "upload_time": "2014-03-17T18:27:03", "url": "https://files.pythonhosted.org/packages/1a/4a/addfd6b0a9e05a208e1d9ad73a5a5595529dfa5ce879e56ca1d4f585ff74/htmlgen-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "8dc1e82b7dc42d4f87dbe011ce48b9d8", "sha256": "ce1ee8cf600c93b7a54a1e75516bc7a06f9c7349b0887b22c32c237b598ba26a" }, "downloads": -1, "filename": "htmlgen-0.1.1.tar.gz", "has_sig": false, "md5_digest": "8dc1e82b7dc42d4f87dbe011ce48b9d8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6896, "upload_time": "2014-03-17T23:14:40", "url": "https://files.pythonhosted.org/packages/87/9b/f57f1eb339ef178c30cc9ce9f012fa8db57408b44a228ffe3dbf8c99009b/htmlgen-0.1.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "d7080aede97adacec0e27e439a28b587", "sha256": "47757427fc8de214115ee211534bcf8c44e3b1335b2db8cd1b38d75ba00dd286" }, "downloads": -1, "filename": "htmlgen-0.2.tar.gz", "has_sig": false, "md5_digest": "d7080aede97adacec0e27e439a28b587", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9435, "upload_time": "2014-03-19T11:19:21", "url": "https://files.pythonhosted.org/packages/26/fb/debe444a0dabfb7ed79139a118aff6e2d82d86b17d4c07ed19c14d2c5631/htmlgen-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "fe526b7083a3de6465b4bc18161ba156", "sha256": "a7302d0f06aad66dafb6242907e572f2a283d5025e5a91e12ef017eca74e4a34" }, "downloads": -1, "filename": "htmlgen-0.3.tar.gz", "has_sig": false, "md5_digest": "fe526b7083a3de6465b4bc18161ba156", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14612, "upload_time": "2014-04-04T11:15:09", "url": "https://files.pythonhosted.org/packages/70/c1/6482fe7e46b5e0ed1c22115a66c14d36a82be39a63dea5684976fce00243/htmlgen-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "da7a0293a6ddf400804c22cc6b49c856", "sha256": "1fad51cf73d2b9c0638bda9a6746fc201d5f8d55ca7d2e301e8d7543dd2272a2" }, "downloads": -1, "filename": "htmlgen-0.4.tar.gz", "has_sig": false, "md5_digest": "da7a0293a6ddf400804c22cc6b49c856", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16865, "upload_time": "2014-05-17T11:13:21", "url": "https://files.pythonhosted.org/packages/85/ea/2238ff794eabbff9b0588a96893ecf560a8cf7bb459c86af93de7e8a71ea/htmlgen-0.4.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "9a9d9893a90828572308a8826ffd57ae", "sha256": "c33468e7c54cbc26d2a6c18942a28ab7d25e694a6955aca9dc0b41e27ca89728" }, "downloads": -1, "filename": "htmlgen-0.5.tar.gz", "has_sig": false, "md5_digest": "9a9d9893a90828572308a8826ffd57ae", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19432, "upload_time": "2014-08-26T12:45:20", "url": "https://files.pythonhosted.org/packages/9f/f1/32dc88701c7a023b46c9de9bee0b742e0b3ae197ae35472adbd76629ed47/htmlgen-0.5.tar.gz" } ], "0.6": [ { "comment_text": "", "digests": { "md5": "22dca7b82e6870a7de509a439c157e0f", "sha256": "41b18be21fc32e45cb4095778f271b682e8b225b4ced4a0737e8a99affb563ed" }, "downloads": -1, "filename": "htmlgen-0.6.tar.gz", "has_sig": false, "md5_digest": "22dca7b82e6870a7de509a439c157e0f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19528, "upload_time": "2014-10-22T06:47:14", "url": "https://files.pythonhosted.org/packages/9e/48/8836b4c94e955fce270624deb8b6de1300424f3e43a14f38ce66f6b79ba0/htmlgen-0.6.tar.gz" } ], "0.6.1": [ { "comment_text": "", "digests": { "md5": "6b931b9ecb63ed3122726c1f2c15244f", "sha256": "7cf345dca50ad0cf894a8f1626e138e1fbd2382d3bc723e6826506210d3c86df" }, "downloads": -1, "filename": "htmlgen-0.6.1.tar.gz", "has_sig": false, "md5_digest": "6b931b9ecb63ed3122726c1f2c15244f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19547, "upload_time": "2014-10-22T11:43:44", "url": "https://files.pythonhosted.org/packages/94/d3/cf55a460b76d3b72850f3016b9d0c6526bc247d987ecc838d5cce8b2f20f/htmlgen-0.6.1.tar.gz" } ], "0.7": [ { "comment_text": "", "digests": { "md5": "085cafa3e495ba59c200aa1bce650d4a", "sha256": "bd6179bb680546cbdcab9fd60e29dc62920929e5faa3a13e35cd80b56762c461" }, "downloads": -1, "filename": "htmlgen-0.7.tar.gz", "has_sig": false, "md5_digest": "085cafa3e495ba59c200aa1bce650d4a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22095, "upload_time": "2015-01-23T17:24:20", "url": "https://files.pythonhosted.org/packages/e6/14/e556c7dee26e1b1fbdf786270e106dc7048375383b89857edc4f334f48cf/htmlgen-0.7.tar.gz" } ], "0.8": [ { "comment_text": "", "digests": { "md5": "f60f955293ab9637fde6f0fbabb7f763", "sha256": "0438c9881e9c0dbd87df3e34b6b6422150ca9e9232161a3c660be2cd12180ef8" }, "downloads": -1, "filename": "htmlgen-0.8.tar.gz", "has_sig": false, "md5_digest": "f60f955293ab9637fde6f0fbabb7f763", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24254, "upload_time": "2015-07-13T13:52:02", "url": "https://files.pythonhosted.org/packages/5b/54/b00e1acd19b518ae79adfe38a5699306ad8a1061ece4b706920681add0b6/htmlgen-0.8.tar.gz" } ], "0.9": [ { "comment_text": "", "digests": { "md5": "15c0c26bdc487893ea77eb561580a708", "sha256": "bc3965eb55109b895e256673efcf596f5b8d081faf1e5c8bde413fdcf893bf93" }, "downloads": -1, "filename": "htmlgen-0.9.tar.gz", "has_sig": false, "md5_digest": "15c0c26bdc487893ea77eb561580a708", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27309, "upload_time": "2017-03-07T12:42:24", "url": "https://files.pythonhosted.org/packages/80/1c/ecb52cae4f96c624a3cbf81ad9e5d8c0093f9766c3c2e63e52bcc90bdc33/htmlgen-0.9.tar.gz" } ], "0.99.0": [ { "comment_text": "", "digests": { "md5": "6e00e3bd43c7bab92f747ba2d3fc936d", "sha256": "d456ca68c7b5d4bfdaa5241d82335e0a1e7fa366af54885c5ab70ab7983476cd" }, "downloads": -1, "filename": "htmlgen-0.99.0.tar.gz", "has_sig": false, "md5_digest": "6e00e3bd43c7bab92f747ba2d3fc936d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28279, "upload_time": "2017-06-28T12:30:59", "url": "https://files.pythonhosted.org/packages/a0/4b/ff17b43865e37255e3bc5e66c3c5c83b4679efb5bf4c3f5fad016414522a/htmlgen-0.99.0.tar.gz" } ], "0.99.1": [ { "comment_text": "", "digests": { "md5": "da32c4a39f14b6f189ccaae1720e79ca", "sha256": "1975d6be38ee241cfaf1d5b89abf7726c704b412edd020bb2bd809cf815b7b97" }, "downloads": -1, "filename": "htmlgen-0.99.1-py2-none-any.whl", "has_sig": false, "md5_digest": "da32c4a39f14b6f189ccaae1720e79ca", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 45981, "upload_time": "2017-11-11T18:50:56", "url": "https://files.pythonhosted.org/packages/2c/7b/13b6ec46b8e699b361c4c898589ef92026f992e57b2e178a57d36eba12a7/htmlgen-0.99.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1f26da33afb3e7f5298e43265bb8834b", "sha256": "8ed30c3a8c48c4065e6c548ab3bfa14dceac77c38211bb1d758bced3889dc556" }, "downloads": -1, "filename": "htmlgen-0.99.1-py3-none-any.whl", "has_sig": false, "md5_digest": "1f26da33afb3e7f5298e43265bb8834b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 45982, "upload_time": "2017-11-11T18:50:57", "url": "https://files.pythonhosted.org/packages/4e/1b/f6565acef206260ca7c685a6b3ca2f6d8b9bcf8c8f78343f872fe576eb34/htmlgen-0.99.1-py3-none-any.whl" } ], "0.99.2": [ { "comment_text": "", "digests": { "md5": "c27ce059a3300f846afef952c26664a2", "sha256": "417de8cd1e983e862c09269f613fdb623888511c72cd609f28bc018453de1b81" }, "downloads": -1, "filename": "htmlgen-0.99.2-py2-none-any.whl", "has_sig": false, "md5_digest": "c27ce059a3300f846afef952c26664a2", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 46300, "upload_time": "2017-11-12T14:59:26", "url": "https://files.pythonhosted.org/packages/03/3e/9aed32012505f1925bc56076a497be9efcb34af8c069b72e5f284c1565bc/htmlgen-0.99.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dfec5d712b97ff490002d26d0728e531", "sha256": "1c40a01986906f415f1f3b31ddadebed31f662aa2a7482a5ac7adccb1d15de93" }, "downloads": -1, "filename": "htmlgen-0.99.2-py3-none-any.whl", "has_sig": false, "md5_digest": "dfec5d712b97ff490002d26d0728e531", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 46300, "upload_time": "2017-11-12T14:59:28", "url": "https://files.pythonhosted.org/packages/a8/12/9b42b4da9ca0c49c047f7872d1f34aaf3b1f30217bb7f3760fea773dedda/htmlgen-0.99.2-py3-none-any.whl" } ], "0.99.3": [ { "comment_text": "", "digests": { "md5": "2f1a38a0eb18426bd25647e8435b0582", "sha256": "f43b5e6b51a6aedb373ef04bda4cb2b155ff722974abbe3677ee5064587d8ede" }, "downloads": -1, "filename": "htmlgen-0.99.3-py3-none-any.whl", "has_sig": false, "md5_digest": "2f1a38a0eb18426bd25647e8435b0582", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 46242, "upload_time": "2017-12-14T11:48:00", "url": "https://files.pythonhosted.org/packages/92/75/19377c842b3eec3b878ced1aa9c6011eeaa5ef209b3dbb24a0a218a9e86d/htmlgen-0.99.3-py3-none-any.whl" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "83fde5febd53bd7d4e3c607b0f6069ce", "sha256": "aebbfc6f60d26d6130a3b344c2578fa7f97ca52f7c5a756d5c9fe9ef22fa3596" }, "downloads": -1, "filename": "htmlgen-1.0.0-py2-none-any.whl", "has_sig": false, "md5_digest": "83fde5febd53bd7d4e3c607b0f6069ce", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 46238, "upload_time": "2018-02-21T16:57:33", "url": "https://files.pythonhosted.org/packages/a5/bd/08f6815113152a9babacd06752ea56f037a8dbbb72a9b0b84257de496a8d/htmlgen-1.0.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dc2bf526f3f14e9a86d18607ee4eda0e", "sha256": "8e5751ad8e231ee336917ef8e977f4e9a0c54421e91f53b00eb1812e539644dd" }, "downloads": -1, "filename": "htmlgen-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "dc2bf526f3f14e9a86d18607ee4eda0e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 46238, "upload_time": "2018-02-21T16:57:06", "url": "https://files.pythonhosted.org/packages/82/1b/730bc4603022123547f942649e3afe877586f6d5c75f34d77cbf4aa63bdd/htmlgen-1.0.0-py3-none-any.whl" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "36a6681d017504220c945e320c00e906", "sha256": "6ffbe463e1d0f0d075c703679f808b9605f00284b9d83a98dc139ca80437a767" }, "downloads": -1, "filename": "htmlgen-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "36a6681d017504220c945e320c00e906", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 44586, "upload_time": "2018-07-28T20:45:32", "url": "https://files.pythonhosted.org/packages/4f/54/d60cfc3be14872338febefd0fb82dd96de161d199499b17f16a41fa7ad73/htmlgen-1.1.0-py3-none-any.whl" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "1b50e685c99fdc8c8688c53ca032c864", "sha256": "74b3a1b2b7978a306a219b1b77906ac66b1eeb7463fb9a37cd066d3d3f92934e" }, "downloads": -1, "filename": "htmlgen-1.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "1b50e685c99fdc8c8688c53ca032c864", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 44638, "upload_time": "2018-08-21T07:52:33", "url": "https://files.pythonhosted.org/packages/20/41/84eb833fdd7e9d7131a4e39591ebcf020af5e0e9be44c530979d6b319bd9/htmlgen-1.2.0-py3-none-any.whl" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "4755fefe3a9107e2e6d20a68faae3914", "sha256": "32f80bb27e77aba7fa23c08d40948cc0967f198ec91124105bea1731099e15b1" }, "downloads": -1, "filename": "htmlgen-1.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "4755fefe3a9107e2e6d20a68faae3914", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 44641, "upload_time": "2018-08-21T11:30:09", "url": "https://files.pythonhosted.org/packages/94/dd/36d5423f4e90eb7ffa1e702c2fff392e9aec70824dcf8ac1cac0011367cc/htmlgen-1.2.1-py3-none-any.whl" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "b836a2ac3abfb686612217487e1203a7", "sha256": "c375f7b18914fec8b8c25927d35d19cd0a42f1a193009272713d814731b53c73" }, "downloads": -1, "filename": "htmlgen-1.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "b836a2ac3abfb686612217487e1203a7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 44651, "upload_time": "2018-09-06T11:04:04", "url": "https://files.pythonhosted.org/packages/bd/b6/a7a7d009485af769b3464423785a8a2690a9458fe703bd98a7c8c0fbff04/htmlgen-1.2.2-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b836a2ac3abfb686612217487e1203a7", "sha256": "c375f7b18914fec8b8c25927d35d19cd0a42f1a193009272713d814731b53c73" }, "downloads": -1, "filename": "htmlgen-1.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "b836a2ac3abfb686612217487e1203a7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 44651, "upload_time": "2018-09-06T11:04:04", "url": "https://files.pythonhosted.org/packages/bd/b6/a7a7d009485af769b3464423785a8a2690a9458fe703bd98a7c8c0fbff04/htmlgen-1.2.2-py3-none-any.whl" } ] }