{ "info": { "author": "Feng Zhou", "author_email": "zf.pascal@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Web Environment", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3.3", "Topic :: Internet :: WWW/HTTP :: WSGI" ], "description": "# biro\n\nbidirectional URI routing\n\n```python\nfrom biro import get, path_for, match\n\n@get('/article')\ndef list_article():\n pass\n\n@get('/article/')\ndef show_article():\n pass\n\npath_for(show_article, article_id=618) # /article/618\npath_for(list_article, limit=10) # /article?limit=10\n\nmatch('GET', \"/article/309\") # (article, {\"article_id\": \"309\"})\nmatch('POST', \"/article/309\") # (None, None)\n```\n\n## the Router class\n\n```python\nfrom biro import Router\n\nrouter = Router()\nrouter.append('DETELE', '/article/', handler)\n\nrouter.match('PATCH', '/path')\nrouter.path_for(handler, q=val)\n```\n\n## wsgi example\n\n```python\nfrom biro import get, match\n\n@get('/')\ndef home():\n return 'home'\n\n@get('/hello/')\ndef hello(name):\n return 'hello %s' % name\n\ndef application(environ, start_response):\n handler, params = match(environ['REQUEST_METHOD'].upper(),\n environ['PATH_INFO'])\n if handler:\n status = '200 OK'\n response = handler(**params)\n else:\n status = '404 Not Found'\n response = 'page not found'\n start_response(status, [('Content-Type', 'text/html; charset=utf-8')])\n return [response.encode('utf-8')]\n```\n\nsave it as example.py, then it can be lunched using gunicorn like this:\n\n```\n$ gunicorn example:application\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/zweifisch/biro", "keywords": "bidirectional routing", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "biro", "package_url": "https://pypi.org/project/biro/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/biro/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/zweifisch/biro" }, "release_url": "https://pypi.org/project/biro/0.0.4/", "requires_dist": null, "requires_python": null, "summary": "bidirectional URI routing", "version": "0.0.4" }, "last_serial": 1034728, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "27a7a3207be2aeee5d087c222c6f7a96", "sha256": "72c5947d447980a6dbf12820c1a8d53721695f87d59d1eb77345a113847d8760" }, "downloads": -1, "filename": "biro-0.0.1.tar.gz", "has_sig": false, "md5_digest": "27a7a3207be2aeee5d087c222c6f7a96", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3994, "upload_time": "2014-03-11T14:47:56", "url": "https://files.pythonhosted.org/packages/ad/68/b9f8fab323e1871a0d82fd8961c2ae7cff97de0457e9e32661bc1c0af737/biro-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "96761ded074a458497ba8e2fdd99bb5b", "sha256": "ff852ab8e0a0f933400a8d23ea953b580e2f71a0a4496c22eb9063c527999541" }, "downloads": -1, "filename": "biro-0.0.2.tar.gz", "has_sig": false, "md5_digest": "96761ded074a458497ba8e2fdd99bb5b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4043, "upload_time": "2014-03-12T13:15:34", "url": "https://files.pythonhosted.org/packages/21/b9/76853c9c66fe10b15892171766de71156b9c8391e7fa96cf2d4ad2298c31/biro-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "842ff3941e232cb1c6f9fb22891f51b6", "sha256": "1eeac323155bec89c3931738a94649e0395484eb2b669dfa92da8e0e0df396c9" }, "downloads": -1, "filename": "biro-0.0.3.tar.gz", "has_sig": false, "md5_digest": "842ff3941e232cb1c6f9fb22891f51b6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3001, "upload_time": "2014-03-14T08:58:22", "url": "https://files.pythonhosted.org/packages/6e/4a/f241ae0f505bec440e1ed549cebf499f873620e395138dff6a310c13b6a6/biro-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "753c0ac29ffa60cb8ab9408a3bda691c", "sha256": "91f0bf51d8ab654cdb0fbbca0a0a0e5d82e748c755927bf938385fb3f5dfc878" }, "downloads": -1, "filename": "biro-0.0.4.tar.gz", "has_sig": false, "md5_digest": "753c0ac29ffa60cb8ab9408a3bda691c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3043, "upload_time": "2014-03-19T09:52:06", "url": "https://files.pythonhosted.org/packages/34/05/07f71b2b0f622ca310f3528d17842db791d4d5d8fcbd0243645d6dbf4531/biro-0.0.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "753c0ac29ffa60cb8ab9408a3bda691c", "sha256": "91f0bf51d8ab654cdb0fbbca0a0a0e5d82e748c755927bf938385fb3f5dfc878" }, "downloads": -1, "filename": "biro-0.0.4.tar.gz", "has_sig": false, "md5_digest": "753c0ac29ffa60cb8ab9408a3bda691c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3043, "upload_time": "2014-03-19T09:52:06", "url": "https://files.pythonhosted.org/packages/34/05/07f71b2b0f622ca310f3528d17842db791d4d5d8fcbd0243645d6dbf4531/biro-0.0.4.tar.gz" } ] }