{ "info": { "author": "Rinat Khabibiev", "author_email": "srenskiy@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Web Environment", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Topic :: Internet :: WWW/HTTP", "Topic :: Internet :: WWW/HTTP :: Dynamic Content", "Topic :: Internet :: WWW/HTTP :: WSGI", "Topic :: Software Development :: Libraries :: Application Frameworks", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "marnadi\n=======\n\n.. image:: https://travis-ci.org/renskiy/marnadi.svg?branch=master\n :target: https://travis-ci.org/renskiy/marnadi\n\nYet another WSGI Web Framework, the simplest and fastest ever written.\n\nHas no dependencies. Works both with **Python 2** and **Python 3**.\n\nFeatures\n--------\n* Support both of functional and object-oriented programming styles\n* Dynamic routes, e.g. \"/path/{param}/\"\n* Headers, query, data, cookies descriptors\n* Rich extending abilities\n\nInstallation\n------------\nSimply execute following line::\n\n pip install marnadi\n\n\"Hello World\"\n-------------\nRun this script and open http://localhost:8000/ on your browser:\n\n.. code-block:: python\n\n from marnadi import Response\n from marnadi.wsgi import App\n\n application = App()\n \n \n @application.route('/')\n @Response.get\n def main_page():\n return 'This is main page'\n \n if __name__ == '__main__':\n from wsgiref.simple_server import make_server\n make_server('', 8000, application).serve_forever()\n\nMore complex example\n--------------------\nScript below additionally will respond to http://localhost:8000/foo/bar/ and http://localhost:8000/foo/ requests:\n\n.. code-block:: python\n\n from marnadi import Response, Route\n from marnadi.wsgi import App\n\n\n class MainPageResponse(Response):\n\n def get(self):\n return 'This is main page'\n \n \n class FooBarResponse(Response):\n \n def get(self, foo, bar=None):\n return 'foo is {foo}, bar is {bar}'.format(foo=foo, bar=bar)\n \n routes=(\n Route('/', MainPageResponse),\n Route('/{foo}/', FooBarResponse, routes=(\n Route('{bar}/', FooBarResponse),\n )),\n )\n \n application = App(routes=routes)\n \n if __name__ == '__main__':\n from wsgiref.simple_server import make_server\n make_server('', 8000, application).serve_forever()", "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/renskiy/marnadi", "keywords": "WSGI,HTTP,REST", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "Marnadi", "package_url": "https://pypi.org/project/Marnadi/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/Marnadi/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/renskiy/marnadi" }, "release_url": "https://pypi.org/project/Marnadi/0.5.3/", "requires_dist": null, "requires_python": null, "summary": "Yet another WSGI web framework", "version": "0.5.3" }, "last_serial": 1649060, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "2c59a7d8cba12fb4233f504cd35e051d", "sha256": "1448677da4b6e1eb861da9d03b050c22a84b02e31c7bf50a5cc584180b452f02" }, "downloads": -1, "filename": "Marnadi-0.1.0.tar.gz", "has_sig": false, "md5_digest": "2c59a7d8cba12fb4233f504cd35e051d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9286, "upload_time": "2014-08-21T10:46:43", "url": "https://files.pythonhosted.org/packages/4e/6f/4d34f7d82c411550448b378d6c191289d829da269b43c96ab36a21f8a739/Marnadi-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "178af303b6e9b6d714c6a7ce481c0ac6", "sha256": "387cddeac35a98b422486fc25baca88f41ce97691d808ce69a8ef2679ea21a8a" }, "downloads": -1, "filename": "Marnadi-0.1.1.tar.gz", "has_sig": false, "md5_digest": "178af303b6e9b6d714c6a7ce481c0ac6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9478, "upload_time": "2014-08-29T12:59:52", "url": "https://files.pythonhosted.org/packages/66/1a/d7f4a4e74ea86d2c638d840dd73726c399fbe35f42b3f2c5efa5b0a35925/Marnadi-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "1d7b38ac9c518673b09291cd10fad64e", "sha256": "b360d7ac89ea019a28622d974f02abc92ce3e67d964c2e8005dda35f47be27f2" }, "downloads": -1, "filename": "Marnadi-0.1.2.tar.gz", "has_sig": false, "md5_digest": "1d7b38ac9c518673b09291cd10fad64e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9450, "upload_time": "2014-10-13T15:34:34", "url": "https://files.pythonhosted.org/packages/50/cc/dbb4a0f1c596c578457e20112676234eebf380411286efc66b9f2dd14ba3/Marnadi-0.1.2.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "29adec605fa61b4ddf11884b460fe8cd", "sha256": "2e93c1a91519f50bc73437e30e6c434104f5402f87237d02cf420dc3104592c5" }, "downloads": -1, "filename": "Marnadi-0.2.1.tar.gz", "has_sig": false, "md5_digest": "29adec605fa61b4ddf11884b460fe8cd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9611, "upload_time": "2015-03-01T11:36:47", "url": "https://files.pythonhosted.org/packages/c1/38/2aadb9f3c6702d2c2487f16189fabee5015d89d5491dbdd2a600cdbce5f0/Marnadi-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "70f8902bf4d6055428bd541feaa5f269", "sha256": "b59f51363c383b93ce9dfc6259b50f5df2b4d917babc57a34443597cc1e9464e" }, "downloads": -1, "filename": "Marnadi-0.2.2.tar.gz", "has_sig": false, "md5_digest": "70f8902bf4d6055428bd541feaa5f269", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9619, "upload_time": "2015-03-01T16:59:27", "url": "https://files.pythonhosted.org/packages/42/a4/e529a5ee6e1548c29c52242cd22736bba50770fbdf22f6d1712c4ecd500f/Marnadi-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "33ecc70e24eff5a97849df264d35ba48", "sha256": "d3fbc088cf7939963aac82856001a4039e669e205812bc970f23b2e16d68b38b" }, "downloads": -1, "filename": "Marnadi-0.2.3.tar.gz", "has_sig": false, "md5_digest": "33ecc70e24eff5a97849df264d35ba48", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9574, "upload_time": "2015-03-03T15:11:13", "url": "https://files.pythonhosted.org/packages/b4/83/d8ee35f85e5209a4396d53360a154c8d07c2f44563d6e9a0df2f067875e0/Marnadi-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "810a784681395e58aababab34ea0ae92", "sha256": "c8237843b685bcb1550440f4f031c7e66a5df582cc57693031e6c24c9977b992" }, "downloads": -1, "filename": "Marnadi-0.2.4.tar.gz", "has_sig": false, "md5_digest": "810a784681395e58aababab34ea0ae92", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9629, "upload_time": "2015-03-15T15:11:35", "url": "https://files.pythonhosted.org/packages/b3/e7/18a9e355aa09e9d5b21dcca7242f77d1638c9241c67164aee94635941663/Marnadi-0.2.4.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "e63f47eff5ca6e4f41f24bae9afcfa3f", "sha256": "2836e309886fe605b9c518a920da7399f64db27f7d2e5e7c47d1ab579bfb4c36" }, "downloads": -1, "filename": "Marnadi-0.2.5.tar.gz", "has_sig": false, "md5_digest": "e63f47eff5ca6e4f41f24bae9afcfa3f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9610, "upload_time": "2015-03-18T06:01:55", "url": "https://files.pythonhosted.org/packages/af/ab/c968c9d75c6a38c28c32d5923afcd5e6d8b03a1d4e97440901dd93392814/Marnadi-0.2.5.tar.gz" } ], "0.2.6": [ { "comment_text": "", "digests": { "md5": "ac4afe326e0a72b555a774324a58ca66", "sha256": "1e082eaf542dcd5b260209053eed4227afc362d96eaa45fcc89990a0423f0c21" }, "downloads": -1, "filename": "Marnadi-0.2.6.tar.gz", "has_sig": false, "md5_digest": "ac4afe326e0a72b555a774324a58ca66", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9617, "upload_time": "2015-03-20T05:34:34", "url": "https://files.pythonhosted.org/packages/62/30/4a9a1f985d7695dc74c8d951c70efa3ac137a4d15d65cb681bf8c39b5ff0/Marnadi-0.2.6.tar.gz" } ], "0.2.7": [ { "comment_text": "", "digests": { "md5": "304d2098def4139846fcff0146a8e35f", "sha256": "80316b3b8cae39ba3c9e1a3c40f3ad24e12b9525782f6f7b3ce765ae5c54bb7f" }, "downloads": -1, "filename": "Marnadi-0.2.7.tar.gz", "has_sig": false, "md5_digest": "304d2098def4139846fcff0146a8e35f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9782, "upload_time": "2015-03-20T12:17:19", "url": "https://files.pythonhosted.org/packages/08/34/6783042468b8a3a74bee002662ab69860538deed7cf51ac2cc70f1e8321e/Marnadi-0.2.7.tar.gz" } ], "0.2.8": [ { "comment_text": "", "digests": { "md5": "ca24140e9e46459bcee38bf99fbf2725", "sha256": "bb4e784b1ae9635ba737d4dc864b89c27f774afa5185bc3f41343576d9bd75fa" }, "downloads": -1, "filename": "Marnadi-0.2.8.tar.gz", "has_sig": false, "md5_digest": "ca24140e9e46459bcee38bf99fbf2725", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9911, "upload_time": "2015-03-21T12:26:54", "url": "https://files.pythonhosted.org/packages/f8/14/2e36919b351ffc4c00bb6f4737601e660dd177e10e0bcd9c5c1bd5fed251/Marnadi-0.2.8.tar.gz" } ], "0.2.9": [ { "comment_text": "", "digests": { "md5": "595d720e6a22a24827f4aae3ee502a1c", "sha256": "a3cbcbc269fcf6a655f7b01af39bb677b76fe08bebd9b8ef5dbd70c0dc653d2d" }, "downloads": -1, "filename": "Marnadi-0.2.9.tar.gz", "has_sig": false, "md5_digest": "595d720e6a22a24827f4aae3ee502a1c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10130, "upload_time": "2015-03-29T09:12:22", "url": "https://files.pythonhosted.org/packages/57/f5/0fc041d1f9b925df1128ab33b358fa8d7d72593f5b1da90be39855932294/Marnadi-0.2.9.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "2acf2d9f99a37bb3f8412f8220944b07", "sha256": "da76a973a64a6cf5dc0266f093e331f983c15bb736ecf71d07ef0c0115b0e216" }, "downloads": -1, "filename": "Marnadi-0.3.0.tar.gz", "has_sig": false, "md5_digest": "2acf2d9f99a37bb3f8412f8220944b07", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10284, "upload_time": "2015-06-07T08:10:45", "url": "https://files.pythonhosted.org/packages/82/3d/9f69afb3c479b8ad77e9ab28f89c3be82b2c3fadc48963ccb884f0390124/Marnadi-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "a2b68d670fd6e204eabdd09907680795", "sha256": "a983db63251b3d0678dc2cf0d07f7c65b60ff9e21689dfeb9d169d9647e4c5bb" }, "downloads": -1, "filename": "Marnadi-0.3.1.tar.gz", "has_sig": false, "md5_digest": "a2b68d670fd6e204eabdd09907680795", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10326, "upload_time": "2015-06-07T09:05:38", "url": "https://files.pythonhosted.org/packages/39/f0/30851d6c8312ecc61cb029d33a08469eb3c74b71ea3dfd5dc3c98713dcba/Marnadi-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "82d85c57c1053fdb64866211781a7329", "sha256": "c3016dedb651852d82d8c00c565f1209de5a3d29863b2ea2807fa2bee878b04a" }, "downloads": -1, "filename": "Marnadi-0.3.2.tar.gz", "has_sig": false, "md5_digest": "82d85c57c1053fdb64866211781a7329", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10309, "upload_time": "2015-06-07T19:57:50", "url": "https://files.pythonhosted.org/packages/ce/72/5891e97601d12f246ea53c4a9edca4daeb1fb76d399b68b87e3f6c495804/Marnadi-0.3.2.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "30238346689112d72bd52db6e23c7c39", "sha256": "a2ab8b27fa875451766ca684b4bdbab01fbf334e396de6b5db3e1bba9694dd0a" }, "downloads": -1, "filename": "Marnadi-0.4.0.tar.gz", "has_sig": false, "md5_digest": "30238346689112d72bd52db6e23c7c39", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10595, "upload_time": "2015-06-15T07:52:45", "url": "https://files.pythonhosted.org/packages/c2/a0/3a7bcb18779351105ace0dfe6579c44d9c21d92a8249b04a017f91657f80/Marnadi-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "c2aae9cc0b1705c8fe8d507f0d5a61bc", "sha256": "eb2af2602c5bdd98daa9822a03552253d905851fdb83ad907ffae8d44b7eed4a" }, "downloads": -1, "filename": "Marnadi-0.4.1.tar.gz", "has_sig": false, "md5_digest": "c2aae9cc0b1705c8fe8d507f0d5a61bc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10705, "upload_time": "2015-06-17T06:42:32", "url": "https://files.pythonhosted.org/packages/e8/43/0c54a038ef9e47b7fa9ae5d27a4053fb614a659d209cace5e80ef2dd08ff/Marnadi-0.4.1.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "c401c587fad2075ae847ea1cb7399974", "sha256": "b238ec7d0c4dd9d852fbb71bc4dc46d1c4fcb89fe26e906fd538e9ddc7b2cdd9" }, "downloads": -1, "filename": "Marnadi-0.4.2.tar.gz", "has_sig": false, "md5_digest": "c401c587fad2075ae847ea1cb7399974", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10807, "upload_time": "2015-06-18T06:20:38", "url": "https://files.pythonhosted.org/packages/d6/87/19f85798cfc7e7f104a5fe1a9176e27c98843f82c09d823aea6e906db124/Marnadi-0.4.2.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "5c22ac4d5a45114d63d334bd8076fc86", "sha256": "71900e9b283d03b28d1781474947b4dc0a27f5179278efb404390e7ae4ce7077" }, "downloads": -1, "filename": "Marnadi-0.5.0.tar.gz", "has_sig": false, "md5_digest": "5c22ac4d5a45114d63d334bd8076fc86", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10987, "upload_time": "2015-06-21T10:43:10", "url": "https://files.pythonhosted.org/packages/7d/0a/78d5ccf8bb650820d605bd8ec9f582a24fdc7a5d9d9985f7b46688fd60de/Marnadi-0.5.0.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "8ec03e3c8088bf7b9f1f4be2126cf0a0", "sha256": "e97e1debf16ceee59bdfd88848822e53e5f2aaf04fa6427fd39d667a79f9ed8f" }, "downloads": -1, "filename": "Marnadi-0.5.1.tar.gz", "has_sig": false, "md5_digest": "8ec03e3c8088bf7b9f1f4be2126cf0a0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11012, "upload_time": "2015-06-24T08:42:47", "url": "https://files.pythonhosted.org/packages/ea/b6/dff1a6b38ae93eae977ef5a4ae016a2e055d17cc2076126f06c670d25ca0/Marnadi-0.5.1.tar.gz" } ], "0.5.2": [ { "comment_text": "", "digests": { "md5": "f9fbcbdc27ce76c93c3f5d3180aad16a", "sha256": "d43955508a217f63540f9d029b1393c7514809f2d692c711b28f830cc81ba6bd" }, "downloads": -1, "filename": "Marnadi-0.5.2.tar.gz", "has_sig": false, "md5_digest": "f9fbcbdc27ce76c93c3f5d3180aad16a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11117, "upload_time": "2015-06-25T07:42:25", "url": "https://files.pythonhosted.org/packages/d3/5b/42a7c2e4d74c3cc474060eb126b8b883910ea3c245d35a120c3be7b99f55/Marnadi-0.5.2.tar.gz" } ], "0.5.3": [ { "comment_text": "", "digests": { "md5": "f227e7932967af52995e1439ed5ae928", "sha256": "bbe7bebbcf77adab0b4cd32253dca10233811dbb8e37fdcc89b54f87f942e0bd" }, "downloads": -1, "filename": "Marnadi-0.5.3.tar.gz", "has_sig": false, "md5_digest": "f227e7932967af52995e1439ed5ae928", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11143, "upload_time": "2015-07-25T06:39:14", "url": "https://files.pythonhosted.org/packages/0a/17/77da59846e875b661424a9634010623653f67e690c196429cbb30cdd3d90/Marnadi-0.5.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f227e7932967af52995e1439ed5ae928", "sha256": "bbe7bebbcf77adab0b4cd32253dca10233811dbb8e37fdcc89b54f87f942e0bd" }, "downloads": -1, "filename": "Marnadi-0.5.3.tar.gz", "has_sig": false, "md5_digest": "f227e7932967af52995e1439ed5ae928", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11143, "upload_time": "2015-07-25T06:39:14", "url": "https://files.pythonhosted.org/packages/0a/17/77da59846e875b661424a9634010623653f67e690c196429cbb30cdd3d90/Marnadi-0.5.3.tar.gz" } ] }