{ "info": { "author": "Andrey Popp", "author_email": "8mayday@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Web Environment", "Operating System :: OS Independent", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Internet :: WWW/HTTP :: WSGI" ], "description": "routr -- lightweight request routing for WebOb\n==============================================\n\nJust a small example::\n\n from routr import route, GET, POST\n from routr.schema import form, String\n\n def create_user(username=None):\n ...\n\n def get_user(id):\n ...\n\n routes = route(\"/users\",\n route(POST, \"/\", form(username=String), create_user),\n route(GET, \"/{id:int}\", get_user)\n )\n\nDocs_ are hosted at excellent readthedocs project.\n\n.. _docs: http://routr.readthedocs.org/\n\n\n0.7.1\n-----\n\n* Fix Python 3 support for ``routr.utils.import_string`` shared function.\n\n0.7.0\n-----\n\n* Initial Python 3.2 and 3.3 support. Also backport to Python 2.6.\n\n0.6.2\n-----\n\n* Trace.annotation(name, default=None) method to retrieve annotation from\n routes.\n\n0.6.1\n-----\n\n* routr.static.static accepts annotations\n* routr.static.static returns Response subclass' object\n\n0.6\n---\n\n* schema validation and doc generation moved to separate packages\n\n0.5.1\n-----\n\n* fix bug with trace.args/kwargs updates\n\n0.5\n---\n\n* use ``schemify`` for schema validation\n\n* remove ``routr.schema`` completely\n\n* remove ``routr.schema2`` -- ``qs`` and ``form`` guards are now can be imported directly\n from ``routr`` module\n\n0.4.2\n-----\n\n* routr.schema2: opt now can provide default value\n\n* routr.schema2: allow namedtuple-based schemas\n\n0.4.1\n-----\n\n* HTTP methods constants now can be used to define routes\n\n0.4\n---\n\n* allow setting custom class for URL matching -- use ``url_pattern_cls`` keyword\n argument for ``route`` directive\n\n* lightweight schema validation package ``routr.schema2``\n\n0.3.4\n-----\n\n* URL pattern type ``str`` now has ``re`` arg -- allows to validate string via\n regexp\n\n0.3.3\n-----\n\n* fix url pattern matching for labels with numbers, like ``/{id1}``\n\n0.3.2\n-----\n\n* ``routr.static.static`` routes now can be distinguished via ``static_view``\n annotation instead of view attribute (still here for backward compatibility)\n\n0.3.1\n-----\n\n* fix ``routr.static`` behaviour\n\n0.3\n---\n\n* get rid of ``Configuration``, now ``route`` is just a plain function -- this\n allows better composability w/o requirement to share configuration object\n between different parts of the app\n\n* add ``routr.static`` for serving static files\n\n* add ``routr.utils.positional_args`` for introspection of positional arguments\n of different types of objects and ``routr.utils.inject_args`` for injecting\n positional arguments based on introspection\n\n0.2.1\n-----\n\n* bugfixes to DSL\n\n0.2\n---\n\n* [not backward compatible] new DSL -- got rid of guards keyword argument which\n is too noisy\n\n0.1.7\n-----\n\n* [bugfix] incorrect reversal of urls with more than one param\n\n0.1.6\n-----\n\n* [bugfix] fix bug with RouteGuarded poped up in RouteGroup match\n\n* add '_' to allowed args in URLPattern\n\n0.1.5\n-----\n\n* introduced RequestParams.exception_factory which abstracts away\n HTTPBadRequest raise in case of invalid data being supplied\n\n* [bugfix] RouteGuarded.response now installed correctly, previously it\n sometimes contained NoUrlMatched objects which are not responses\n\n0.1.4\n-----\n\n* RequestParams.post_processor now also can be accumulated via addition\n\n* fix bug in RequestParams which prevented Option wrap SchemaNode objects\n directly\n\n0.1.3\n-----\n\n* fix broken 0.1.2 release by including CHANGES file in dist\n\n0.1.2\n-----\n\n* trace factory made configurable via Configuration.trace attribute\n\n* method and PATH_INFO extraction delegated to configuration, allows\n implementing routing for other request wrapper (werkzeug or django's request\n for example)\n\n* routes now have access to configuration object via ``cfg`` attribute\n\n0.1.1\n-----\n\n* allow guards return None (routing doesn't break on this and proceed with old\n trace)\n\n* RequestParams now can accept colander.SchemaNode directly (allows to supply\n validators)\n\n0.1\n---\n\n* initial release", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://routr.readthedocs.org/", "keywords": "routr routes routing webob", "license": "BSD", "maintainer": null, "maintainer_email": null, "name": "routr", "package_url": "https://pypi.org/project/routr/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/routr/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://routr.readthedocs.org/" }, "release_url": "https://pypi.org/project/routr/0.7.2/", "requires_dist": null, "requires_python": null, "summary": "URL routing made right", "version": "0.7.2" }, "last_serial": 1212515, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "f778d3a61e1ceae7eb20bf0f1141e1db", "sha256": "3071f0b99abf11b9c0154ed2530dc4c2042295571aa60176741f0c9a3c30fe7d" }, "downloads": -1, "filename": "routr-0.1.tar.gz", "has_sig": false, "md5_digest": "f778d3a61e1ceae7eb20bf0f1141e1db", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10917, "upload_time": "2012-04-02T22:28:49", "url": "https://files.pythonhosted.org/packages/2a/a7/ad9bcc91cf13c2665440c089560cd24b88d8c89990a42b774795b3feba7d/routr-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "6b0e5f3f45370455bd69b14e52c8f81e", "sha256": "effd7b3b26ac1c4bfd835fb4bb2be2d49bc49bf6f149a56c0241b287dc1d0163" }, "downloads": -1, "filename": "routr-0.1.1.tar.gz", "has_sig": false, "md5_digest": "6b0e5f3f45370455bd69b14e52c8f81e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11345, "upload_time": "2012-04-03T17:03:47", "url": "https://files.pythonhosted.org/packages/a4/52/b75953804052df0b21e7bcf5a3e23c76d3555b6535d3f362b7efb2b65838/routr-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "47f3c58fe11cd1558f643f53b5299838", "sha256": "b1bd1300320d2e35bcc24250a7c486ac4d2cdd6858f10e0d5e7f89b9108b5b41" }, "downloads": -1, "filename": "routr-0.1.2.tar.gz", "has_sig": false, "md5_digest": "47f3c58fe11cd1558f643f53b5299838", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11681, "upload_time": "2012-04-04T16:35:54", "url": "https://files.pythonhosted.org/packages/24/f1/2f7b81c7b30c9dbae5142f21612061462371784a427ab50fceab01cbdac1/routr-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "c8eda2f039049e705531cb58b503f12d", "sha256": "d3dc07d515cab17270fdac4d18e3568cea0a73a9d99f386d55ce43b1b338d403" }, "downloads": -1, "filename": "routr-0.1.3.tar.gz", "has_sig": false, "md5_digest": "c8eda2f039049e705531cb58b503f12d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11900, "upload_time": "2012-04-04T16:51:30", "url": "https://files.pythonhosted.org/packages/bb/a9/4e2a10ddce5bc33377da83cf33cdf9354b09f6d08ff538194c60a373b6a6/routr-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "db35bf28cba612f699dbd59a28363991", "sha256": "29220fbb6ccf31dd769003906e5f2d841d5b315708441396447200c5e12fdef7" }, "downloads": -1, "filename": "routr-0.1.4.tar.gz", "has_sig": false, "md5_digest": "db35bf28cba612f699dbd59a28363991", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12196, "upload_time": "2012-04-06T13:10:39", "url": "https://files.pythonhosted.org/packages/e7/25/2067729aeeed45be0a171fd281139a4bd116508e5155dd74f30253bbaffd/routr-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "7b264e07848ff01d9a6f3b0284a6df63", "sha256": "f6c4248614a7e6de7627bae4f29876c85831a96a62d66cade811fbe5745d0ecb" }, "downloads": -1, "filename": "routr-0.1.5.tar.gz", "has_sig": false, "md5_digest": "7b264e07848ff01d9a6f3b0284a6df63", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12705, "upload_time": "2012-04-13T11:34:59", "url": "https://files.pythonhosted.org/packages/f1/5d/cad84fe5292200cc10337f2a565200bd5d0f613cfa6811d2e918d3892ff4/routr-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "9caaf92779d37fa557db4900e27be576", "sha256": "762c8a66e6533d55d2f1d538ea4e98ec929db49f327da741d68003d5ef39c93c" }, "downloads": -1, "filename": "routr-0.1.6.tar.gz", "has_sig": false, "md5_digest": "9caaf92779d37fa557db4900e27be576", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12838, "upload_time": "2012-04-16T14:13:15", "url": "https://files.pythonhosted.org/packages/4d/3a/a57c72fb5821a8a0fa364def7e5f8e1ef4d1d24a99ee3bc6e33856eba70a/routr-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "7cb82857b8e3733c8b1f2c217b837d08", "sha256": "070d7a7605e72ed51e965cead451c2c623a02a487eeebde680459d9fc242ba12" }, "downloads": -1, "filename": "routr-0.1.7.tar.gz", "has_sig": false, "md5_digest": "7cb82857b8e3733c8b1f2c217b837d08", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12918, "upload_time": "2012-04-17T13:52:50", "url": "https://files.pythonhosted.org/packages/9e/49/f6b1c3eae4583feb3b90e34ca44a3beb2ccf60db176c09602751e663c995/routr-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "4f4f1826ff9f18fd5bdfda26aa468f24", "sha256": "8c28fa3d65642f94a37add1bbfc9062fc9e2330dd3435bd0296ec6506aa3e775" }, "downloads": -1, "filename": "routr-0.1.8.tar.gz", "has_sig": false, "md5_digest": "4f4f1826ff9f18fd5bdfda26aa468f24", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12923, "upload_time": "2012-05-21T17:14:31", "url": "https://files.pythonhosted.org/packages/5d/05/21b5d477288fc6a1c8f213cab27e6620ad03a4535a93905335fffdee452d/routr-0.1.8.tar.gz" } ], "0.1a": [], "0.2": [ { "comment_text": "", "digests": { "md5": "ca3824da7b7352328c67d192fed603c2", "sha256": "19a54c37d4c509b6600cf9a62ced3e79fb2b2819fe26926605474ef5b1b9fd4d" }, "downloads": -1, "filename": "routr-0.2.tar.gz", "has_sig": false, "md5_digest": "ca3824da7b7352328c67d192fed603c2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12733, "upload_time": "2012-06-27T15:23:23", "url": "https://files.pythonhosted.org/packages/7b/36/b5dbda0e99e9aa91a42bdb1902365e711fbbbe1aa92ec1b6bdcff27c8b43/routr-0.2.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "4f0d8d7a1bf9c9c2119b7c71f7964bee", "sha256": "795b063ba4cc656d1ff9ff8e8636f095c94d28a63f9e6e55b25737fdf5e0055e" }, "downloads": -1, "filename": "routr-0.2.1.tar.gz", "has_sig": false, "md5_digest": "4f0d8d7a1bf9c9c2119b7c71f7964bee", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12763, "upload_time": "2012-06-27T17:30:21", "url": "https://files.pythonhosted.org/packages/63/a2/eba419f4c9820298e080c9384feca093cbdf1a1b3b6317c0fa2c7c9ebffa/routr-0.2.1.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "2a9df0c2af18fa132c9792aa90d743cc", "sha256": "ac68ad69a6ffce0b15b31dcf9511c13d8e25736564cf06aa23fda0eff8aaaa94" }, "downloads": -1, "filename": "routr-0.3.tar.gz", "has_sig": false, "md5_digest": "2a9df0c2af18fa132c9792aa90d743cc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13988, "upload_time": "2012-07-21T15:37:09", "url": "https://files.pythonhosted.org/packages/f5/d3/e30a00d143dbbb3374a3161cddd05f7d35d35af56a4929ddfe045ce6bff9/routr-0.3.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "e97333694eac3a72f1226db6c2b57529", "sha256": "a9898cab169fe1b69a52bf5dc245a036fff33f33af91846166ba65f9c5cac693" }, "downloads": -1, "filename": "routr-0.3.1.tar.gz", "has_sig": false, "md5_digest": "e97333694eac3a72f1226db6c2b57529", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14033, "upload_time": "2012-07-21T18:54:27", "url": "https://files.pythonhosted.org/packages/ee/cf/a8cf18e70d68216a580eb026eb7d20cf8d6c5da0a1b68e5d5778caf50cea/routr-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "4e91d7e6c9a8e50345f05fcda323edf6", "sha256": "ed2f5b28b6e2954f0a01ff87bf31ff448fb3216936bfb1d500661c339c900940" }, "downloads": -1, "filename": "routr-0.3.2.tar.gz", "has_sig": false, "md5_digest": "4e91d7e6c9a8e50345f05fcda323edf6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14210, "upload_time": "2012-07-23T19:44:55", "url": "https://files.pythonhosted.org/packages/b2/e3/2d39074494c8d81ccf8ee36b21476b51acd4ba128d085098441229a1ac09/routr-0.3.2.tar.gz" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "090492954cc90d96b80bd7fab609bc7a", "sha256": "8cb5be7d186c45aa7971f17240580f4436e143b70af9f5a1e75f543e622ed3a6" }, "downloads": -1, "filename": "routr-0.3.3.tar.gz", "has_sig": false, "md5_digest": "090492954cc90d96b80bd7fab609bc7a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14297, "upload_time": "2012-08-21T13:00:12", "url": "https://files.pythonhosted.org/packages/49/d8/7ac212def26bf4c41456c7e6a1ca7ba2ba634725fdef1de9cf5f5eff7f30/routr-0.3.3.tar.gz" } ], "0.3.4": [ { "comment_text": "", "digests": { "md5": "a5ad636a38a7c92e9f22fdebe28b0bcc", "sha256": "cfe324f3ca876f5d1e808fda0c27cc82c298313cb026b1096208be1e3f758565" }, "downloads": -1, "filename": "routr-0.3.4.tar.gz", "has_sig": false, "md5_digest": "a5ad636a38a7c92e9f22fdebe28b0bcc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14441, "upload_time": "2012-08-22T09:34:50", "url": "https://files.pythonhosted.org/packages/3a/13/307fe9316a12336d1ac1354a7b40bf477af3913c1ae098df85434ed28fdd/routr-0.3.4.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "f4bb75d32c8d7edb1ec34f92bb06b8f2", "sha256": "ae7bf681c4a1ba4b376860d35818dafd9c13ff571bc8879659d6c590923f5755" }, "downloads": -1, "filename": "routr-0.4.tar.gz", "has_sig": false, "md5_digest": "f4bb75d32c8d7edb1ec34f92bb06b8f2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15906, "upload_time": "2012-08-23T20:24:32", "url": "https://files.pythonhosted.org/packages/19/34/ec001de61f459fa5c0b1ba05501b886ada873b38726979060a8092bb5062/routr-0.4.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "122ba1fe8af9465b0de02c0a0a62ed18", "sha256": "9a53743a01fe4f6ac318e466e32577129496da666eff3f9a56119431b767e5ca" }, "downloads": -1, "filename": "routr-0.4.1.tar.gz", "has_sig": false, "md5_digest": "122ba1fe8af9465b0de02c0a0a62ed18", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16005, "upload_time": "2012-09-04T15:53:04", "url": "https://files.pythonhosted.org/packages/13/e2/15837fefea85f3ff0eae769ca79cef20ca609a4c83372305457f044835db/routr-0.4.1.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "1f4c89fb73ffef547aea4577a9189827", "sha256": "a73ce5c332fec78770bb002c4b5846713a16c26335615f10283225b5fbfe32ac" }, "downloads": -1, "filename": "routr-0.4.2.tar.gz", "has_sig": false, "md5_digest": "1f4c89fb73ffef547aea4577a9189827", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16283, "upload_time": "2012-09-07T11:59:02", "url": "https://files.pythonhosted.org/packages/1c/c9/4d39f45fa05122d57511c0bbfc648c95410054f80c748679325da16c1d8a/routr-0.4.2.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "2b06626b6dd3f47dd5b3c01869076ed4", "sha256": "4d8e711fb25595ca9a0372da024dcd4140b23b83070a92dfb362717a8ee66837" }, "downloads": -1, "filename": "routr-0.5.tar.gz", "has_sig": false, "md5_digest": "2b06626b6dd3f47dd5b3c01869076ed4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14835, "upload_time": "2012-09-07T12:27:42", "url": "https://files.pythonhosted.org/packages/aa/c7/5b519e498738aff8db2604973b899184895e41c716ed69998d8163c9e52e/routr-0.5.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "39695cfc08b22ca95bcddcac4e22e617", "sha256": "dd1c33b1c1cea76bdf41fa8407644f9fbeca04b039eae473aa9abc279e3ade91" }, "downloads": -1, "filename": "routr-0.5.1.tar.gz", "has_sig": false, "md5_digest": "39695cfc08b22ca95bcddcac4e22e617", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14890, "upload_time": "2012-09-07T14:49:34", "url": "https://files.pythonhosted.org/packages/11/28/06707c6542634ded18303a3466cefbeae269494c6c27c31ae6e8601f4921/routr-0.5.1.tar.gz" } ], "0.6": [ { "comment_text": "", "digests": { "md5": "f97547b388f0a2bcbefdb74bbbea9701", "sha256": "8dc94590c24fdbf4164b2724af967dd18d32023262d321ff587f3d0714423278" }, "downloads": -1, "filename": "routr-0.6.tar.gz", "has_sig": false, "md5_digest": "f97547b388f0a2bcbefdb74bbbea9701", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13864, "upload_time": "2012-10-09T09:49:43", "url": "https://files.pythonhosted.org/packages/74/a1/9826b7eab0cb464a3a48c36a7f0ae1dd4a14fc04e55890208d41de99cff9/routr-0.6.tar.gz" } ], "0.6.1": [ { "comment_text": "", "digests": { "md5": "ca2a3639ca0dbc519a1309459e6f0d59", "sha256": "01945dc571d461b8b852e5e7ae575077076cb6fd0105c35b542922f4e9d22427" }, "downloads": -1, "filename": "routr-0.6.1.tar.gz", "has_sig": false, "md5_digest": "ca2a3639ca0dbc519a1309459e6f0d59", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14003, "upload_time": "2012-10-22T22:56:05", "url": "https://files.pythonhosted.org/packages/9b/dc/e654981ce35023e5aa6c5a7ce64e30fa6ad7304941b026be08c96ae430a4/routr-0.6.1.tar.gz" } ], "0.6.2": [ { "comment_text": "", "digests": { "md5": "04c1080d8a6f370445f1fd586f067d1f", "sha256": "3cf7f70c157761689bff63a926e3430eb579833552cdf3e8b8ebb3934919d1f6" }, "downloads": -1, "filename": "routr-0.6.2.tar.gz", "has_sig": false, "md5_digest": "04c1080d8a6f370445f1fd586f067d1f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14119, "upload_time": "2012-11-21T11:25:15", "url": "https://files.pythonhosted.org/packages/96/d0/d547473cfba618596c09d2da68803bb15db5d9c6dd8279194d4864a6a345/routr-0.6.2.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "5b1cf6f30167c49c700a43431aa2b1d8", "sha256": "4985a948657835dd4eb9e3858b4557c767c4596485108ddbabddaef42435df97" }, "downloads": -1, "filename": "routr-0.7.0.tar.gz", "has_sig": false, "md5_digest": "5b1cf6f30167c49c700a43431aa2b1d8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15112, "upload_time": "2013-04-28T22:34:43", "url": "https://files.pythonhosted.org/packages/e0/41/883244854b0a3caa6817045462e6017e24575163c9fbd490d6e8835ae5fa/routr-0.7.0.tar.gz" } ], "0.7.1": [ { "comment_text": "", "digests": { "md5": "1c0e87b61a6aa8a168b4467711af2409", "sha256": "3c74718c284d2329b05a14673ea2cc5178fe60b22ecf294875ccbe3e68883c53" }, "downloads": -1, "filename": "routr-0.7.1.tar.gz", "has_sig": false, "md5_digest": "1c0e87b61a6aa8a168b4467711af2409", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15447, "upload_time": "2013-04-29T07:59:49", "url": "https://files.pythonhosted.org/packages/53/94/4ae5930af233058cc1fad640eacee8623e7ddb0ea29011331cc77d0a6532/routr-0.7.1.tar.gz" } ], "0.7.2": [ { "comment_text": "", "digests": { "md5": "d5c705c348f3dd255a06dde359d81203", "sha256": "c3cfa4480f4731efee1461777e836d73ed05969873f529c2d5bbedef75b3473b" }, "downloads": -1, "filename": "routr-0.7.2.tar.gz", "has_sig": false, "md5_digest": "d5c705c348f3dd255a06dde359d81203", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14942, "upload_time": "2014-09-04T07:51:58", "url": "https://files.pythonhosted.org/packages/20/eb/42e7e01e4189b101edd48b26d56015cc87d5668446ff64f3453c712da493/routr-0.7.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d5c705c348f3dd255a06dde359d81203", "sha256": "c3cfa4480f4731efee1461777e836d73ed05969873f529c2d5bbedef75b3473b" }, "downloads": -1, "filename": "routr-0.7.2.tar.gz", "has_sig": false, "md5_digest": "d5c705c348f3dd255a06dde359d81203", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14942, "upload_time": "2014-09-04T07:51:58", "url": "https://files.pythonhosted.org/packages/20/eb/42e7e01e4189b101edd48b26d56015cc87d5668446ff64f3453c712da493/routr-0.7.2.tar.gz" } ] }