{ "info": { "author": "Malthe Borch", "author_email": "mborch@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable" ], "description": ".. role:: mod(emphasis)\r\n.. role:: term(emphasis)\r\n\r\n\r\nOverview\r\n========\r\n\r\nOtto is an HTTP publisher which uses a routes-like syntax to map URLs\r\nto code. It supports object traversal.\r\n\r\nYou can use the publisher to write web applications. It was designed\r\nwith both small and large applications in mind. We have tried to\r\nincorporate elements of existing publishers to allow diverse and\r\nflexible application patterns while still being in concordance with\r\nthe :term:`Zen Of Python`.\r\n\r\nHere's a variation of a familiar theme::\r\n\r\n import otto\r\n import webob\r\n import wsgiref.simple_server\r\n\r\n app = otto.Application()\r\n\r\n @app.connect(\"/*path/:name\")\r\n def hello_world(request, path=None, name=u'world'):\r\n return webob.Response(u\"An %d-deep hello %s!\" % (len(path), name))\r\n\r\n wsgiref.simple_server.make_server('', 8080, app).serve_forever()\r\n\r\nThis release is compatible with Python 2.4+.\r\n\r\nSee the `documentation `_ for this release.\r\n\r\n\r\n\r\nChanges\r\n=======\r\n\r\n1.2 (2009-11-16)\r\n----------------\r\n\r\nFeatures\r\n########\r\n\r\n- Route matches that come before object mapping are passed on to the\r\n mapper on instantiation; these matches are then not passed to the\r\n controller.\r\n\r\nBackwards incompatibilities\r\n###########################\r\n\r\n- The object mapper takes the place of the *traverser*; on\r\n instantiation it gets the part of the match dictionary that comes\r\n before the asterisk.\r\n\r\n- The empty asterisk is now mapped to the empty string. This does not\r\n change the high-level interface.\r\n\r\n1.1 (2009-11-12)\r\n----------------\r\n\r\nFeatures\r\n########\r\n\r\n- The leading slash is now optional in a route path definition.\r\n\r\n- The ``Route`` class now provides the ``match`` method.\r\n\r\nBackwards incompatibilities\r\n###########################\r\n\r\n- The ``Publisher.route`` method was renamed to ``connect``. This\r\n method now takes a route object. This change was also applied for\r\n the ``Router`` class.\r\n\r\n1.0 (2009-11-12)\r\n----------------\r\n\r\n- Initial public release.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "", "keywords": "wsgi publisher router", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "Otto", "package_url": "https://pypi.org/project/Otto/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/Otto/", "project_urls": { "Download": "UNKNOWN" }, "release_url": "https://pypi.org/project/Otto/1.2/", "requires_dist": null, "requires_python": null, "summary": "WSGI-compliant HTTP publisher.", "version": "1.2" }, "last_serial": 784862, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "218d9a7c0e929a5bcef1db01285dfbc6", "sha256": "9dd822057327528b76897069ba201a4829bb785274cd748472888d3df3fb2b02" }, "downloads": -1, "filename": "Otto-1.0.tar.gz", "has_sig": false, "md5_digest": "218d9a7c0e929a5bcef1db01285dfbc6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 67914, "upload_time": "2009-11-12T03:04:32", "url": "https://files.pythonhosted.org/packages/17/28/d015f4d60a3a37378afc99aa3a2d5f0772105c6ece06ec34352fee7f2565/Otto-1.0.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "f77ae0428f9d0a566bc4f46bbccc0176", "sha256": "d6ecedf5f26688e7eb8b23b6d31115c0aeab296cf5c236b47225b94573ed89a0" }, "downloads": -1, "filename": "Otto-1.1.tar.gz", "has_sig": false, "md5_digest": "f77ae0428f9d0a566bc4f46bbccc0176", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 68431, "upload_time": "2009-11-13T02:30:20", "url": "https://files.pythonhosted.org/packages/81/41/5d521f2e2d83b31f4b9345d4405ccb8257edd8620a6d468d0533e2fa4bd8/Otto-1.1.tar.gz" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "fa93da5e6c63ffb6c1c5ff61feca5b2b", "sha256": "d9285c4808e03841bbe77dbac802f6e5f5f1c67befdf3beb4693a9d6a93501ef" }, "downloads": -1, "filename": "Otto-1.2.tar.gz", "has_sig": false, "md5_digest": "fa93da5e6c63ffb6c1c5ff61feca5b2b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 69645, "upload_time": "2009-11-17T00:10:05", "url": "https://files.pythonhosted.org/packages/4d/f0/afed4c469cc324afe9f1ab49447c924dca7bb1559d4f7a0596538e999f3b/Otto-1.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "fa93da5e6c63ffb6c1c5ff61feca5b2b", "sha256": "d9285c4808e03841bbe77dbac802f6e5f5f1c67befdf3beb4693a9d6a93501ef" }, "downloads": -1, "filename": "Otto-1.2.tar.gz", "has_sig": false, "md5_digest": "fa93da5e6c63ffb6c1c5ff61feca5b2b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 69645, "upload_time": "2009-11-17T00:10:05", "url": "https://files.pythonhosted.org/packages/4d/f0/afed4c469cc324afe9f1ab49447c924dca7bb1559d4f7a0596538e999f3b/Otto-1.2.tar.gz" } ] }