{ "info": { "author": "Adam A.G. Shamblin", "author_email": "adam.shamblin@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Topic :: Internet :: WWW/HTTP :: WSGI", "Topic :: Internet :: WWW/HTTP :: WSGI :: Application" ], "description": "====================================================================\r\nbivouac - a light-weight, wsgi-compliant MVC web framework in Python\r\n====================================================================\r\n\r\nWhy bivouac?\r\n------------\r\n\r\nbivouac has grown out of my own efforts to build websites in Python with as thin a footprint as I can. bivouac provides a basic MVC framework inspired by Microsoft's MVC 1.0 framework. Expect further ruminations on the topic elsewhere. In the past I suggested I would not support this project, but as I find I rely on bivouac for more of my own websites, I expect to do as much as I can to encourage adoption and support. I think we're on to something good here!\r\n\r\nWhat is bivouac?\r\n----------------\r\n\r\nbivouac is WSGI compliant and aims to be as webserver-agnostic as it can. Using mod_wsgi or isapi_wsgi, bivouac works well with both Apache and IIS, with NGINX being an untested likelihood. Today bivouac supports authentication and user sessions using MongoDB. Long-term look for this to become more database independent.\r\n\r\nCurrently, bivouac has a small number of dependencies:\r\n\r\n* mod_wsgi or isapi_wsgi\r\n* Paste & Webob\r\n* mongodb\r\n* PyMongo\r\n\r\nBasic Usage\r\n-----------\r\n\r\nbivouac provides classes for MVC routing, controllers, models and views. Here's a quick intro to getting a site up and running using bivouac.\r\n\r\nFor starters, create a module called app.py, or whatever you've specified as your WSGI entry point. Here we see a simple WSGI entry point with some boiler-plate routing. This will serve most folks needs, so feel free to start with this setup.\r\n \r\n::\r\n\r\n import bivouac\r\n\r\n application = bivouac.Router()\r\n application.add_route('/', defaults={'controller': 'default', 'action': 'index'})\r\n application.add_route('/{controller}/', defaults={'action': 'index'})\r\n application.add_route('/{controller}/{action}')\r\n application.add_route('/{controller}/{action}/{id}')\r\n\r\nNext you'll need a controller. bivouac looks for controllers within your site directory, typically in the controllers package. Your controller will inherit from bivouac.Controller. Methods decorated with @action will be treated as controller actions and return bivouac views, or any WSGI compliant, iterable structure.\r\n\r\n::\r\n\r\n import bivouac\r\n from bivouac.controller import action, noauth\r\n\r\n controller = \"DefaultController\"\r\n\r\n class DefaultController(bivouac.Controller):\r\n\r\n '''Default Controller.\r\n '''\r\n\r\n def __init__(self):\r\n\r\n bivouac.Controller.__init__(self)\r\n\r\n\r\n @noauth\r\n @action\r\n def index(self, req, **vars):\r\n\r\n import views.index as View\r\n\r\n view = View.IndexView()\r\n return view", "description_content_type": null, "docs_url": null, "download_url": "https://github.com/downloads/coyote240/bivouac/Bivouac-0.1.1.tar.gz", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/coyote240/bivouac", "keywords": "web mvc wsgi framework", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "Bivouac", "package_url": "https://pypi.org/project/Bivouac/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/Bivouac/", "project_urls": { "Download": "https://github.com/downloads/coyote240/bivouac/Bivouac-0.1.1.tar.gz", "Homepage": "https://github.com/coyote240/bivouac" }, "release_url": "https://pypi.org/project/Bivouac/0.1.1/", "requires_dist": null, "requires_python": null, "summary": "a light-weight, wsgi-compliant web framework in Python", "version": "0.1.1" }, "last_serial": 802464, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "7000be80c6ce758be67607bd52eb3807", "sha256": "d01258b96b8b10b7fa03a021cf2b06c504c40db99300732c5de61a77103da64a" }, "downloads": -1, "filename": "Bivouac-0.1.0.tar.gz", "has_sig": false, "md5_digest": "7000be80c6ce758be67607bd52eb3807", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6571, "upload_time": "2012-11-22T20:08:34", "url": "https://files.pythonhosted.org/packages/b2/66/8a88fcbd2b643694811498b987038478a640295c279e3e3383f5c065143d/Bivouac-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "f27dd07e7d6e5fd333bf5f4c07cac77a", "sha256": "e56f68154dd8045a3e20b0207be07159f5988976972d7912d0fa53cb7054e2bf" }, "downloads": -1, "filename": "Bivouac-0.1.1.tar.gz", "has_sig": false, "md5_digest": "f27dd07e7d6e5fd333bf5f4c07cac77a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11325, "upload_time": "2012-11-22T20:19:58", "url": "https://files.pythonhosted.org/packages/16/4f/842b7d136ef7bc4285df18b4352d3fe039c5f3ada9311f63f597cc07f393/Bivouac-0.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f27dd07e7d6e5fd333bf5f4c07cac77a", "sha256": "e56f68154dd8045a3e20b0207be07159f5988976972d7912d0fa53cb7054e2bf" }, "downloads": -1, "filename": "Bivouac-0.1.1.tar.gz", "has_sig": false, "md5_digest": "f27dd07e7d6e5fd333bf5f4c07cac77a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11325, "upload_time": "2012-11-22T20:19:58", "url": "https://files.pythonhosted.org/packages/16/4f/842b7d136ef7bc4285df18b4352d3fe039c5f3ada9311f63f597cc07f393/Bivouac-0.1.1.tar.gz" } ] }