{ "info": { "author": "Chris Reeves", "author_email": "hello@chris.reeves.io", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Web Environment", "Framework :: Flask", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Topic :: Internet :: WWW/HTTP :: Dynamic Content", "Topic :: Software Development", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "``Flask-Via``\n=============\n\nInspired by the Django URL configuration system, ``Flask-Via`` is designed to\nadd similar functionality to Flask applications which have grown beyond a\nsimple single file application.\n\n|travis| |coveralls| |downloads| |version| |license|\n\nExample\n-------\n\n.. sourcecode:: python\n\n from flask import Flask\n from flask.ext.via import Via\n from flask.ext.via.routers.default import Functional\n\n app = Flask(__name__)\n\n def foo(bar=None):\n return 'Foo View!'\n\n routes = [\n Functional('/foo', foo),\n Functional('/foo/', foo, endpoint='foo2'),\n ]\n\n via = Via()\n via.init_app(app, route_module='flask_via.examples.basic')\n\n if __name__ == \"__main__\":\n app.run(debug=True)\n\nWhy?\n----\n\nGrowing your application can be quite difficult when it's not always clear\nwhere and how your routes are discovered. This can lead to a cluttered\napplication factory method when all your routes are defined at application\ncreation - resulting in code which is difficult to maintain, not to mention\nmessy.\n\nA better solution is to define your routes in a ``routes.py`` and automatically\nload them at application start up. This is what ``Flask-Via`` helps to do.\n\nThird party Flask extensions don't always follow the same conventions for\nadding routes to an application, so ``Flask-Via`` has been designed to be easy\nfor developers to write their own custom routers. For an example of this, take\na look at the bundled ``Flask-Restful`` Resource_ router.\n\nIf you do write a custom router that is useful to you, it will probably be\nuseful to someone else so please do contribute back :)\n\nLinks\n-----\n\n* Documentation: http://flask-via.thisissoon.com\n* CI: https://travis-ci.org/thisissoon/Flask-Via\n* Coverage: https://coveralls.io/r/thisissoon/Flask-Via?branch=master\n\n.. |travis| image:: http://img.shields.io/travis/thisissoon/Flask-Via/master.svg?style=flat\n :target: https://travis-ci.org/thisissoon/Flask-Via\n :alt: Travis build status on Master Branch\n\n.. |coveralls| image:: http://img.shields.io/coveralls/thisissoon/Flask-Via/master.svg?style=flat\n :target: https://coveralls.io/r/thisissoon/Flask-Via?branch=master\n :alt: Test Coverage\n\n.. |downloads| image:: http://img.shields.io/pypi/dm/Flask-Via.svg?style=flat\n :target: https://pypi.python.org/pypi/Flask-Via\n :alt: Number of PyPI downloads\n\n.. |version| image:: http://img.shields.io/pypi/v/Flask-Via.svg?style=flat\n :target: https://pypi.python.org/pypi/Flask-Via\n :alt: Latest PyPI version\n\n.. |license| image:: http://img.shields.io/pypi/l/Flask-Via.svg?style=flat\n :target: https://pypi.python.org/pypi/Flask-Via\n :alt: MIT License\n\n.. |health| image:: https://landscape.io/github/thisissoon/Flask-Via/master/landscape.png\n :target: https://landscape.io/github/thisissoon/Flask-Via/master\n :alt: Code Health\n\n.. _Resource: http://flask-via.thisissoon.com/en/latest/api.html#flask_via.routers.restful.Resource\n\nChange Log\n==========\n\n2015.1.1\n--------\n* Fix: Setup to allow bdist_wheel installs\n\n2014.05.19.2\n------------\n* Improved: @joonathan added ``kwargs`` passing to the ``Blueprint`` Router\n* Improved: ``init_app`` and added ``__init__``\n* Added: Deprecation warning to ``Basic`` router\n\n2014.05.19.1\n------------\n* Hotfix: Fixed issue where routes would be reregistered with an app\n incorrectly in the event of multiple app creations\n\n2014.05.19\n----------\n* Feature: ``Include`` now supports ``endpoint`` prefixing\n* Feature: Blueprint router can now take a blueprint instance\n* Feature: Added support for ``VIA_ROUTES_NAME`` to set a common routes name\n* Deprecated: ``Basic`` Router in favour of the ``Functional`` router\n* Improved: ``Pluggable`` Router API is now cleaner\n* Improved: Test Suite now uses PyTest\n* Improved: ``ImproperlyConfigured`` now raised if routes module is not defined\n in either ``init_app`` or in application configuration via\n ``VIA_ROUTES_MODULE``\n\n2014.05.08\n----------\n* Feature: Flask Admin Router\n* Feature: Include ``url_prefix`` option\n\n2014.05.06\n----------\n* Feature: Flask extension initialisation\n* Feature: Basic and Pluggable Flask Routers\n* Feature: Flask-Restful Router\n* Feature: Ability to include other routes\n* Feature: Ability to register blueprints", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://flask-via.soon.build", "keywords": "Flask,Routing,Routes,URLs,Views", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "Flask-Via", "package_url": "https://pypi.org/project/Flask-Via/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/Flask-Via/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://flask-via.soon.build" }, "release_url": "https://pypi.org/project/Flask-Via/2015.1.1/", "requires_dist": null, "requires_python": null, "summary": "Provides a clean, simple URL routing framework for growing Flask Applications.", "version": "2015.1.1" }, "last_serial": 1668011, "releases": { "2014.05.06": [ { "comment_text": "", "digests": { "md5": "97e246b12da5f897f4c3b6db4daf3c1e", "sha256": "e9851e39eb5192e5ddef7874899f2f0e52961249724061b9d1d22261ad234606" }, "downloads": -1, "filename": "Flask-Via-2014.05.06.tar.gz", "has_sig": false, "md5_digest": "97e246b12da5f897f4c3b6db4daf3c1e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9642, "upload_time": "2014-05-06T09:38:36", "url": "https://files.pythonhosted.org/packages/e7/49/e40a8f434e9b086fcbb6207b30cc04e04e73168325e4c4754c2ab5bfb6f9/Flask-Via-2014.05.06.tar.gz" } ], "2014.05.08": [ { "comment_text": "", "digests": { "md5": "6f20c8b79f4c8466832bafbdedb59097", "sha256": "6244a79998c37a142dac4aa5c19501a5459d2f6221fa8520f4d351bf4e841f81" }, "downloads": -1, "filename": "Flask-Via-2014.05.08.tar.gz", "has_sig": false, "md5_digest": "6f20c8b79f4c8466832bafbdedb59097", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10848, "upload_time": "2014-05-08T21:29:25", "url": "https://files.pythonhosted.org/packages/f3/81/a37f7605efe02a63ffce289c5d5bbbb2761247a01c11835620e553a47866/Flask-Via-2014.05.08.tar.gz" } ], "2014.05.19": [ { "comment_text": "", "digests": { "md5": "8f3905bebabc276aecf43d32a1bf17fe", "sha256": "698afc8047ecee99fb4273ad93dabdb627e0e58f6d0b20281ca863e510173707" }, "downloads": -1, "filename": "Flask-Via-2014.05.19.tar.gz", "has_sig": false, "md5_digest": "8f3905bebabc276aecf43d32a1bf17fe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13823, "upload_time": "2014-05-19T17:47:47", "url": "https://files.pythonhosted.org/packages/2c/6b/0cb70397d2e71a30606187a18f8419d068e1aa9887e9e679be5fefb9e1ac/Flask-Via-2014.05.19.tar.gz" } ], "2014.05.19.1": [ { "comment_text": "", "digests": { "md5": "5791ee8b624debe8296ec5a1494ba2b5", "sha256": "f078454da9e6afa8dedc2dbc279fc09789ebf7f8223826ce92fb0fd88b880ecb" }, "downloads": -1, "filename": "Flask-Via-2014.05.19.1.tar.gz", "has_sig": false, "md5_digest": "5791ee8b624debe8296ec5a1494ba2b5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14356, "upload_time": "2014-07-07T13:50:29", "url": "https://files.pythonhosted.org/packages/c3/db/2f02b879635d056a496fe405abf357169757d4007bc3a165aa8d384228d1/Flask-Via-2014.05.19.1.tar.gz" } ], "2014.05.19.2": [ { "comment_text": "", "digests": { "md5": "91099a64693aa57472b21877d768b21b", "sha256": "6c27f218c4d2603ade334990d8a5b3cc7909ae7b35215d3713463c521c7bbe97" }, "downloads": -1, "filename": "Flask-Via-2014.05.19.2.tar.gz", "has_sig": false, "md5_digest": "91099a64693aa57472b21877d768b21b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14850, "upload_time": "2014-07-16T10:49:56", "url": "https://files.pythonhosted.org/packages/c4/dc/45566c7b9ea474663a46a9b04c407d830f4aad71b1628a1c5b60c6e2f24d/Flask-Via-2014.05.19.2.tar.gz" } ], "2015.1.1": [ { "comment_text": "", "digests": { "md5": "e58890f2221a2c33b8a694f41e91042a", "sha256": "8faf7e0ff093a26fba1826aaeeda30b0adaed3debe495025d7417c8a2b9552c3" }, "downloads": -1, "filename": "Flask-Via-2015.1.1.tar.gz", "has_sig": false, "md5_digest": "e58890f2221a2c33b8a694f41e91042a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14872, "upload_time": "2015-01-06T10:32:19", "url": "https://files.pythonhosted.org/packages/09/e3/3731674ca2c82cf07785d073e33ba91890989427516c0f64dcd11d315080/Flask-Via-2015.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e58890f2221a2c33b8a694f41e91042a", "sha256": "8faf7e0ff093a26fba1826aaeeda30b0adaed3debe495025d7417c8a2b9552c3" }, "downloads": -1, "filename": "Flask-Via-2015.1.1.tar.gz", "has_sig": false, "md5_digest": "e58890f2221a2c33b8a694f41e91042a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14872, "upload_time": "2015-01-06T10:32:19", "url": "https://files.pythonhosted.org/packages/09/e3/3731674ca2c82cf07785d073e33ba91890989427516c0f64dcd11d315080/Flask-Via-2015.1.1.tar.gz" } ] }