{ "info": { "author": "Olly Parton", "author_email": "mysticdragonfly@hotmail.co.uk", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Framework :: Pyramid", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Internet :: WWW/HTTP", "Topic :: Internet :: WWW/HTTP :: WSGI :: Application" ], "description": "\npyramid_services_viewmapper\n===========================\n\nAn extension for the Pyramid web framework.\n\n`pyramid_services_viewmapper` provides a [view mapper](https://docs.pylonsproject.org/projects/pyramid/en/latest/narr/hooks.html#using-a-view-mapper)\nfor use in conjunction with [pyramid_services](https://github.com/mmerickel/pyramid_services).\nIt extends the functionality of `pyramid_services` to provide *dependency\ninjection*: you can add custom arguments to your view functions, and\nthe view mapper will automatically populate those arguments with matching\nservices.\n\nSetup\n-----\n\nRegister the view mapper in your `Configurator`:\n\n from pyramid_services_viewmapper import ServiceViewMapper\n config.set_view_mapper(ServiceViewMapper)\n\nUsage\n-----\n\nServices registered by interface alone are injected by a simple type\nannotation. For example this...\n\n @view_config(route_name=\"home\", renderer=\"json\")\n def home(request, login_svc: ILoginService):\n token = login_svc.create_token_for_login(name)\n return {\"access_token\": token}\n\n...is equivalent to this:\n\n @view_config(route_name=\"home\", renderer=\"json\")\n def home(request):\n login_svc = request.find_service(ILoginService)\n token = login_svc.create_token_for_login(name)\n return {\"access_token\": token}\n\nServices registered by name can be injected using a `ServiceInjector` object.\nFor example this...\n\n from pyramid_services_viewmapper import ServiceInjector as S\n\n @view_config(route_name=\"users\", renderer=\"json\")\n def users(request, db: S(name=\"db\")):\n users = db.query(User)\n return {\"users\": users}\n\n...is equivalent to this:\n\n @view_config(route_name=\"users\", renderer=\"json\")\n def users(request):\n db = request.find_service(name=\"db\")\n users = db.query(User)\n return {\"users\": users}\n\nThe `ServiceInjector` class can be used as a shortcut for this:\n\n from pyramid_services_viewmapper import ServiceInjector as S\n\n @view_config(route_name=\"users\", renderer=\"json\")\n def users(request, db: S):\n users = db.query(User)\n return {\"users\": users}\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/tehdragonfly/pyramid_services_viewmapper", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "pyramid-services-viewmapper", "package_url": "https://pypi.org/project/pyramid-services-viewmapper/", "platform": "", "project_url": "https://pypi.org/project/pyramid-services-viewmapper/", "project_urls": { "Homepage": "https://github.com/tehdragonfly/pyramid_services_viewmapper" }, "release_url": "https://pypi.org/project/pyramid-services-viewmapper/1.0.1/", "requires_dist": [ "pyramid-services" ], "requires_python": ">=3.7.0", "summary": "View mapper for use with pyramid_services.", "version": "1.0.1", "yanked": false, "yanked_reason": null }, "last_serial": 6020910, "releases": { "1.0.0": [], "1.0.1": [ { "comment_text": "", "digests": { "md5": "fc254b3d3d3a40044dabe9b3303e20dd", "sha256": "c5ef1a6a882c4f1dc11de371478f90893acd563534c88944664ed93b5e276bcd" }, "downloads": -1, "filename": "pyramid_services_viewmapper-1.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fc254b3d3d3a40044dabe9b3303e20dd", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.7.0", "size": 4048, "upload_time": "2019-10-23T23:22:47", "upload_time_iso_8601": "2019-10-23T23:22:47.559551Z", "url": "https://files.pythonhosted.org/packages/9c/6f/ce80536b484d0ff5520a7cd49e74f04186759061d34b69ec04df8e0e5691/pyramid_services_viewmapper-1.0.1-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "e52c83a77eccaafaee2749ebdcf9884c", "sha256": "b9df0082f3daf9b34e56c8e49064a900897848ec4759ac3ff3a8f5247e54a43e" }, "downloads": -1, "filename": "pyramid_services_viewmapper-1.0.1.tar.gz", "has_sig": false, "md5_digest": "e52c83a77eccaafaee2749ebdcf9884c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7.0", "size": 3493, "upload_time": "2019-10-23T23:22:49", "upload_time_iso_8601": "2019-10-23T23:22:49.090644Z", "url": "https://files.pythonhosted.org/packages/5d/cc/1467e79b1d68e8ed3ddbbea1d5a1d4cbde5d9c56783315b1bec024ec4961/pyramid_services_viewmapper-1.0.1.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "fc254b3d3d3a40044dabe9b3303e20dd", "sha256": "c5ef1a6a882c4f1dc11de371478f90893acd563534c88944664ed93b5e276bcd" }, "downloads": -1, "filename": "pyramid_services_viewmapper-1.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fc254b3d3d3a40044dabe9b3303e20dd", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.7.0", "size": 4048, "upload_time": "2019-10-23T23:22:47", "upload_time_iso_8601": "2019-10-23T23:22:47.559551Z", "url": "https://files.pythonhosted.org/packages/9c/6f/ce80536b484d0ff5520a7cd49e74f04186759061d34b69ec04df8e0e5691/pyramid_services_viewmapper-1.0.1-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "e52c83a77eccaafaee2749ebdcf9884c", "sha256": "b9df0082f3daf9b34e56c8e49064a900897848ec4759ac3ff3a8f5247e54a43e" }, "downloads": -1, "filename": "pyramid_services_viewmapper-1.0.1.tar.gz", "has_sig": false, "md5_digest": "e52c83a77eccaafaee2749ebdcf9884c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7.0", "size": 3493, "upload_time": "2019-10-23T23:22:49", "upload_time_iso_8601": "2019-10-23T23:22:49.090644Z", "url": "https://files.pythonhosted.org/packages/5d/cc/1467e79b1d68e8ed3ddbbea1d5a1d4cbde5d9c56783315b1bec024ec4961/pyramid_services_viewmapper-1.0.1.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }