{ "info": { "author": "OKso.me", "author_email": "@okso.me", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Web Environment", "Intended Audience :: Developers", "License :: OSI Approved :: GNU Affero General Public License v3", "Operating System :: MacOS :: MacOS X", "Operating System :: POSIX", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3", "Topic :: Internet :: WWW/HTTP :: Dynamic Content", "Topic :: Software Development :: Code Generators", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Text Processing :: Markup :: HTML" ], "description": "tumulus\n=======\n\nPython HTML Generator for Recyclable Web Elements.\n\nTumulus is an alternative to Templating languages found in many templating engines such as Jinja2, Django, Mako, ...\nSuch templating engines make it difficult to separate logical elements of the page, hence discouraging reusability.\n\nThe motivation behind Tumulus is to encourage developers to build reusable web components that can then be\nput together to build web pages or applications.\n\nExample\n---\n\n```python\n# Importing the basic brick of Tumulus, the tags creator:\nfrom tumulus.tags import tags as t\n# This module helps to add JS/CSS libraries in page head/footer:\nimport tumulus.lib as lib\n\ndef bootstrap_button(text):\n '''Returns a Bootstrap formatted button, and adds the CSS of\n Bootstrap to the dependencies of the page.'''\n return t.div(\n # Standard HTML button with 'text' inside:\n t.button(text, class_='btn btn-info'),\n # Injecting Bootstrap's CSS file in the HTML head.\n # This can be done almost anywhere, as it will be included\n # somewhere else, and there is de-duplication.\n lib.css('bootstrap')\n );\n\ndef page(title, text):\n return t.html(\n t.head(\n t.title(title),\n t.meta(charset='utf-8'),\n ),\n t.body(\n t.h1(title),\n t.p(\n text\n ),\n bootstrap_button('Click Here'),\n ),\n )\n\nprint(\n page('Hello World', 'Hello from Tumulus').build()\n )\n```\n\nRun tests\n---\n\nTumulus uses testing intensely, and tries to keep a coverage close from 100%. Testing\nis done using `pytest` and `pytest-cov`.\n\nRun all tests:\n```bash\npy.test tumulus\n```\n\nGenerate a coverage report:\n```bash\npy.test --cov tumulus && coverage html\n```", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/oksome/Tumulus/", "keywords": "html generator template templating engine", "license": "AGPLv3", "maintainer": null, "maintainer_email": null, "name": "Tumulus", "package_url": "https://pypi.org/project/Tumulus/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/Tumulus/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/oksome/Tumulus/" }, "release_url": "https://pypi.org/project/Tumulus/0.2.1/", "requires_dist": null, "requires_python": null, "summary": "Python HTML Generator for Recyclable Web Elements", "version": "0.2.1" }, "last_serial": 1185998, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "1ac5aafc25ae7f8394231fff4afd3d8e", "sha256": "e67155b2d2bef8d3c29d2b55c967b69a06b7ebfe192f6ff1a9a96c51abf4cb6f" }, "downloads": -1, "filename": "Tumulus-0.1.tar.gz", "has_sig": false, "md5_digest": "1ac5aafc25ae7f8394231fff4afd3d8e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4498, "upload_time": "2014-02-08T21:47:11", "url": "https://files.pythonhosted.org/packages/2e/10/10ff1b8688dc136fb681c598fe0db4d96d641a22afba0f31ed08e9a2e852/Tumulus-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "5027ce5940d9debe7249d1643b0936e3", "sha256": "f879b64166971150730045e7a23537e562c6e4227d1589011bccc349cd3c24ab" }, "downloads": -1, "filename": "Tumulus-0.1.1.tar.gz", "has_sig": false, "md5_digest": "5027ce5940d9debe7249d1643b0936e3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4549, "upload_time": "2014-02-08T21:52:50", "url": "https://files.pythonhosted.org/packages/24/30/48f0ac3e8668ee746ae9818c982feb4d9a6c38006104b7d4c4b9ce01770a/Tumulus-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "5c07d623609031a674eb2aab04746bd9", "sha256": "d6d49140b9bbf511ef1d23165219b13b22bf06b4cbb6dc22dfc3be1e34daa7d7" }, "downloads": -1, "filename": "Tumulus-0.1.2.tar.gz", "has_sig": false, "md5_digest": "5c07d623609031a674eb2aab04746bd9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4729, "upload_time": "2014-02-08T21:57:09", "url": "https://files.pythonhosted.org/packages/ba/47/36314964d86f1f737777f44f10a2dfaa72fb88bfe99af3015fc4573ff150/Tumulus-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "7ca5de36566e5f950b9f41ea286dd569", "sha256": "f4221152de089239f1f7f51305463129fcc952558278e65c339edbaf933cd874" }, "downloads": -1, "filename": "Tumulus-0.1.3.tar.gz", "has_sig": false, "md5_digest": "7ca5de36566e5f950b9f41ea286dd569", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4749, "upload_time": "2014-02-09T00:23:12", "url": "https://files.pythonhosted.org/packages/d8/dd/5b6bef524d4c0319a79bceae390675ffcc174c913759904e27a2b23b857b/Tumulus-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "b31b94359adaaac1d7e72771bee0b05a", "sha256": "14869af6b2cdb6506eceb5a3c4e4cf2a6da5d46017af767b81512ddb26a3a1b7" }, "downloads": -1, "filename": "Tumulus-0.1.4.tar.gz", "has_sig": false, "md5_digest": "b31b94359adaaac1d7e72771bee0b05a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4931, "upload_time": "2014-02-09T11:12:34", "url": "https://files.pythonhosted.org/packages/ac/72/0e66dadaa4d789d77eb438070b4709552f0b41e7b0f868a1628dfe533ea7/Tumulus-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "14449089d4fa9a8f2005237d0d7fe071", "sha256": "dae04b672bacc70a43a20fe86a03fdc6e4210c1ad3920e1263fae84f22c81435" }, "downloads": -1, "filename": "Tumulus-0.1.5.tar.gz", "has_sig": false, "md5_digest": "14449089d4fa9a8f2005237d0d7fe071", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6749, "upload_time": "2014-02-13T16:24:35", "url": "https://files.pythonhosted.org/packages/93/83/764658c40f156a28d2bff64719c3c960c3aa6f6b7fe147ca99dd26702f56/Tumulus-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "8760377188ce061616e01aecf2df28a5", "sha256": "d7a888f2f0d22250b38493a7133b513e765028f9a278ae5023d2a6e90a752d44" }, "downloads": -1, "filename": "Tumulus-0.1.6.tar.gz", "has_sig": false, "md5_digest": "8760377188ce061616e01aecf2df28a5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6755, "upload_time": "2014-07-24T12:12:45", "url": "https://files.pythonhosted.org/packages/47/3c/56e32a6944319a26679671696782b6482be78d9cfce6891fb0b25654a291/Tumulus-0.1.6.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "ae60dd7c20f35eae80e23e00102d2849", "sha256": "a14dd4d6452fb52d16f72f7f18991c69c057a1f9d9f974faf882f92b9923a120" }, "downloads": -1, "filename": "Tumulus-0.1.8.tar.gz", "has_sig": false, "md5_digest": "ae60dd7c20f35eae80e23e00102d2849", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7049, "upload_time": "2014-08-09T10:16:29", "url": "https://files.pythonhosted.org/packages/ab/a2/114e912aa49076ac596a91b9164cad0c250fde5cfd0d7dd640793934b77a/Tumulus-0.1.8.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "b344e35d1f36feef8558c359c394b59c", "sha256": "2f3e93b230c99125bb450c4e2ef6e2dc373b14e37a562b04937535f23cfeb81c" }, "downloads": -1, "filename": "Tumulus-0.2.0.tar.gz", "has_sig": false, "md5_digest": "b344e35d1f36feef8558c359c394b59c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7062, "upload_time": "2014-08-09T11:19:57", "url": "https://files.pythonhosted.org/packages/e1/fe/e9d9768ee83f0eeb22e6192616404f084e96e204d9cea47d3f96f24d3d2a/Tumulus-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "ea08ed5e1e6c11ab6e1e372f8c59ae21", "sha256": "c31a13afe41e9363df30f6c24dcf9311ca9f9c1ab47de112bd1366b141a82894" }, "downloads": -1, "filename": "Tumulus-0.2.1.tar.gz", "has_sig": false, "md5_digest": "ea08ed5e1e6c11ab6e1e372f8c59ae21", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7134, "upload_time": "2014-08-11T00:03:29", "url": "https://files.pythonhosted.org/packages/5f/78/59cd9b54921f9f201d9b46d363d84b1126dfccb54c5c3fc890407284d586/Tumulus-0.2.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ea08ed5e1e6c11ab6e1e372f8c59ae21", "sha256": "c31a13afe41e9363df30f6c24dcf9311ca9f9c1ab47de112bd1366b141a82894" }, "downloads": -1, "filename": "Tumulus-0.2.1.tar.gz", "has_sig": false, "md5_digest": "ea08ed5e1e6c11ab6e1e372f8c59ae21", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7134, "upload_time": "2014-08-11T00:03:29", "url": "https://files.pythonhosted.org/packages/5f/78/59cd9b54921f9f201d9b46d363d84b1126dfccb54c5c3fc890407284d586/Tumulus-0.2.1.tar.gz" } ] }